Avatar billede dagreyman Nybegynder
27. april 2007 - 15:47 Der er 17 kommentarer og
1 løsning

Hjælp til variabel

Hej, jeg sidder med et problem og det drejer sig om min manglende viden indenfor variabler.
Jeg har lavet en switch der tjekker som sætter $text og $heading ud fra $language.
Derefter skal jeg udskrive fra afhængigt af $text og $heading, men det var galt i min variabel.
Please help..

<?php
switch ($language) {
case "dk":
    $text = 'text_dk';
    break;
case "eng":
    $text = 'text_eng';
    break;
}
?>
<?php do { ?>
echo $row_rsSubmenu['$text'] //Her det går galt
} while ($row_rsSubmenu = mysql_fetch_assoc($rsSubmenu));
?>
Avatar billede leif Seniormester
27. april 2007 - 16:02 #1
Du mangler ;


<?php
switch ($language) {
case "dk":
    $text = 'text_dk';
    break;
case "eng":
    $text = 'text_eng';
    break;
}

do {
echo $row_rsSubmenu['$text']; //Her det går galt
} while ($row_rsSubmenu = mysql_fetch_assoc($rsSubmenu));
?>
Avatar billede leif Seniormester
27. april 2007 - 16:03 #2
Men hvad er det også du laver ?

Jeg ville:
<?php
switch ($language) {
case "dk":
    $text = 'text_dk';
    break;
case "eng":
    $text = 'text_eng';
    break;
}

while ($row_rsSubmenu = mysql_fetch_assoc($rsSubmenu)) {
echo $row_rsSubmenu['$text'];
}
?>
Avatar billede michael_stim Ekspert
27. april 2007 - 16:06 #3
Men kommer $language fra en session eller fra basen. Kommer den fra basen skal hele switch/case ned under fetchningen.
Avatar billede michael_stim Ekspert
27. april 2007 - 16:08 #4
<?php
...
while ($row_rsSubmenu = mysql_fetch_assoc($rsSubmenu)) {

switch ($row_rsSubmenu['language']) {
case "dk":
    $text = 'text_dk';
    break;
case "eng":
    $text = 'text_eng';
    break;
}
echo $row_rsSubmenu['$text'];
}
?>
Avatar billede michael_stim Ekspert
27. april 2007 - 16:09 #5
og så skla echo selvf. bare väre
echo $text;
Avatar billede dagreyman Nybegynder
27. april 2007 - 16:09 #6
Well det var vist mig der fik skrevet det forkert, mit spørgsmål går på hvordan jeg kan få $text ind i:
echo $row_rsSubmenu[' '];
Da jeg både har en text_dk og text_eng tabel i databasen.
Avatar billede dagreyman Nybegynder
27. april 2007 - 16:10 #7
$language kommer fra url og eksistere ikke i databasen
Avatar billede michael_stim Ekspert
27. april 2007 - 16:11 #8
Felt mener du vel.
Avatar billede dagreyman Nybegynder
27. april 2007 - 16:12 #9
ja
Avatar billede dagreyman Nybegynder
27. april 2007 - 16:24 #10
Det jeg skal have ud af det er at $text
enten skal være lig med teksten:
"$row_rsSubmenu['text_dk']"
eller
"$row_rsSubmenu['text_eng']".
Avatar billede morhan Novice
27. april 2007 - 16:41 #11
"gåseøjne" eller 'apostroffer' skal du kun bruge, når du angiver en tekst direkte.

$text2 = "$text";
er altså en direkte unødvendighed, det kunne lige så godt skrives
$text2 = $text;

bruger man apostroffer, bliver variablen i strengen ikke expanded:
$text = "en tekst";
echo '$text'; // vil udskrive: $text
echo "$text"; // vil udskrive: en tekst

dvs, echo $row_rsSubmenu['$text']
leder efter en kolonne der hedder $text (og ikke hvad $text-variablen måtte indeholde)
Avatar billede dagreyman Nybegynder
27. april 2007 - 16:41 #12
Så når jeg printer $text så står der f.eks. $row_rsSubmenu['text_dk'] og derfra kan jeg så udskrive fra databasen....
Avatar billede dagreyman Nybegynder
27. april 2007 - 16:43 #13
morhan ->
Præcis, det var også det jeg kom frem til og så derfra er jeg gået i stå til hvordan jeg kommer videre.
Avatar billede erikjacobsen Ekspert
27. april 2007 - 19:09 #14
Og i forlængelse af morhans indlæg. Ikke

echo $row_rsSubmenu['$text']

men bare

echo $row_rsSubmenu[$text]
Avatar billede dagreyman Nybegynder
27. april 2007 - 19:26 #15
Ja.....
Jeg siger tusinde tak, mente at jeg havde prøvet ligende men sikkert en fejl et andet sted, samtidig med at jeg havde set mig blind på det.

Men erikjacobsen og morhan, synes at I skal smide et svar hver og så deler i pointene :-)
Avatar billede erikjacobsen Ekspert
27. april 2007 - 19:35 #16
Ingen point til mig, tak.
Avatar billede dagreyman Nybegynder
27. april 2007 - 19:43 #17
Men så siger jeg stadig mange tak for hjælpen og morhan får dem når han smider et svar
Avatar billede dagreyman Nybegynder
02. juli 2007 - 10:06 #18
Nu er det så lang tid siden at jeg tager dem selv. Men Morhan hvis du ser dette så er jeg stadig villig til at give dig pointene
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