Avatar billede mrbs Nybegynder
05. marts 2007 - 01:17 Der er 8 kommentarer

variabler i funktioner??

Jeg har en funktion (function) der skal have fat i databasen. For fleksibilitetens skyld har jeg valgt at skrive nogle informationer ned i en seperat config-fil:

$conf['tabel_forvalg'] = "asignblog_";

Imidlertid ser det ud til at den ikke vil læse det fra funktionen med denne kode:

$sqlKategori = mysql_query("SELECT * FROM ".$conf['tabel_forvalg']."kategorier WHERE status='1' ORDER BY kategori");

Jeg er sikker på at det er det rigtige der skal stå i variablen, for når jeg skriver forespørgslen direkte, altså "FROM asignblog_kategorier" virker det fint... Er der noget med globale variabler her eller hvordan kan man løse problemet??
Avatar billede mrbs Nybegynder
05. marts 2007 - 01:20 #1
config-filen bliver kaldt fra toppen af en index.php fil...

Alle funktioner ligger ligeledes i en seperat fil...
Avatar billede Slettet bruger
05. marts 2007 - 01:21 #2
Og du giver $conf som parameter til funktionen?

Globale variabler er generelt skidt.
Avatar billede mrbs Nybegynder
05. marts 2007 - 01:32 #3
Det gør jeg sandsynligvis ikke - hvordan gør man det ?? :)
Avatar billede Slettet bruger
05. marts 2007 - 01:37 #4
Avatar billede mrbs Nybegynder
05. marts 2007 - 01:51 #5
OK Tak!

Hvad er ulemperne ved globals?
Avatar billede coderdk Praktikant
05. marts 2007 - 09:52 #6
Det er ikke decideret skidt, det er bare ikke god programmeringspraksis. Globale variable kan være en kilde til mange fejl og frustrationer, da de jo i deres natur kan ændres alle steder fra ;)
Avatar billede coderdk Praktikant
05. marts 2007 - 09:54 #7
Til conf ting er defines rimelig godt:

define( "TABLE_PREFIX", "asignblog_" );

Fra din funktion tilgår du den bare sådan:

$sqlKategori = mysql_query("SELECT * FROM ".TABLE_PREFIX."kategorier WHERE status='1' ORDER BY kategori");
Avatar billede Slettet bruger
05. marts 2007 - 15:20 #8
Jeg ville lave det som en funktion du kaldte:

config("tabel_forvalg") - den retunerede så "assignblog_".

På den måde kan du altid ændre implementeringen af config uden at skulle skive din kode om alle steder, du anveder den.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester