26. marts 2012 - 23:31Der er
6 kommentarer og 1 løsning
Include script i sql-database
Er det muligt at sætte et <? include();?> script i en sql-database, og hvis ja, hvordan?
Min række i sql-databasen er lige nu af typen "longtext". Når jeg bare sætter det ind som jeg normalt ville have gjort i et php-dokument, virker det ikke.
I min sql-database har jeg en tabel til alle mine sider, hvor der står hhv. id, overskrift og nyheder. På en af mine sider vil jeg dog gerne have et script på, som jeg har gemt i "visnyheder.php". Er der en smartere måde at gøre dette på? Jeg vil nemlig stadig gerne kunne navigere rundt ved hjælp af href='?p=$id' som jeg gør nu.
Hvorfor ikke bare gøre det med php filer på serveren til at include? Det er bestemt ikke en god idé at gemme PHP kode i en MySQL, medmindre der absolut ikke findes andre muligheder. Hvilket der gør hér. Og i alle andre tilfælde.
Det tyder på, at det er et menu system, du prøver at få til at køre over en database. Nej, include() bør ikke hentes direkte fra databasen. I stedet kan du have de nødvendige attributter til at danne din menu. Din tabel kunne eksempelvis indeholde id, menu_item_name, menu_item_file, menu_item_url, (parent_id, hvis du ønsker undermenupunkter).
menu_item_name ville så indeholde punktet opstillet på den måde, den skal vises i menuen (fx: Forside). menu_item_file vil så være den respektive fil til menupunktet (fx: frontpage.php). menu_item_url skal være den url, du ønsker skal henvise til din fil/dit menupunkt. Altså hvis værdien her var "forside" kunne følgende url henvise til det menupunkt: ?page=forside. Alt dette ordnes i den parentfil. parent_id kan du tage med, hvis du ønsker at have underpunkter. Værdien for "parent_id"-et referer til overmenupunktet.
Så kan du indledningsvis danne din menu og i indholdsdelen hente den respektive fil med include.
inteeeL det lyder helt klart som en fornuftig måde at opstille databasen på, og vil klart være lettere end min nuværende opstilling. Tak for den detaljerede forklaring :-)
Du må meget gerne smide et svar så tråden kan lukkes :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.