Mit problem er måske mere hvordan jeg sætter en variabel = en helmasse variabler F.eks: $linknavn = $kategori$count hvis nu $kategori = aktuelt og $count=1 og jeg echo'ede $linknavn så vil jeg gerne have -> aktuelt1
Forøvrigt ... så kommer variablerne jo til at hedde $link0, $link1 osv
Synes godt om
Slettet bruger
11. september 2002 - 08:30#6
eller den mere gammeldags løsning for ($i = 0; $i < 100; $i++){ $tempVar = 'link'.$i; $$tempVar = $linknavn; } Det giver samme resultat: variablerne link0, link1 ... link99
Tak til jer alle!! Nu har jeg forsøgt med yaief svar og jenspo svar, det bliver nogle mærkelige output jeg får, når jeg echo'er: Nu har jeg selv fundet en løsning der virker, men den er vist meget omstændelig (overkill): Kan en af jer omsætte den til jeres forslag vil jeg blive meget glad: NB: jeg ved at der højest kommer fem records ud af DB. include "connect.inc"; $query = "SELECT linknavn,refnr,kat,status FROM main WHERE status = 'on' AND kat = 'aktuelt' ORDER BY id desc"; $result = mysql_query($query) or exit ("Fejl: kunne ikke køre"); $aktuelt_antal_underlinks = mysql_num_rows($result); while (list ($linknavn) = mysql_fetch_row($result)){ $count = $i++; if ($count == 1){ $aktuel_link1_linkheader = $linknavn; $aktuel_link1_refnr = $refnr; ${"link".$count} = hvad du henter fra db } else if ($count == 2){ $aktuel_link2_linkheader = $linknavn; $aktuel_link2_refnr = $refnr;
} else if ($count == 3){ $aktuel_link3_linkheader = $linknavn; } else if ($count == 4){ $aktuel_link3_linkheader = $linknavn; } else if ($count == 5){ $aktuel_link3_linkheader = $linknavn; } }
Hej yaief Du må bære over med mig er lidt grøn...!! Hvis jeg kører dette script: while (list ($linknavn) = mysql_fetch_row($result)){ $count = $i++; ${"aktuel_link".$count."_linkheader"} = $linknavn; echo $aktuel_link1_linkheader;
} Så får jeg rigtig nok min første record ud, MEN tre gange?
Hej yaief-> point til dig for din ihærdige indsats, og tak til alle!!! Så kører det!!: Der skal echo'es uden for løkken(logisk nok) while (list ($linknavn) = mysql_fetch_row($result)) { $count = 1+$i++; ${"aktuel_link".$count."_linkheader"} = $linknavn;
Heh - det var da så lidt =) Fandt selv ud af det med variable variabler ved at spørge på eksperten.
Men dit script giver altså stadig ikke alt for meget mening - hvor fanden får du $i fra? :-)
Synes godt om
Slettet bruger
12. september 2002 - 08:07#15
Ja Yaief har ret. Du bør initialisere $i før du starter løkken. $i = 0; er standard eller $i = 1; hvis du har brug for at starte med 1 istedet for 0.
Hvis den ikke initialeseres kan du komme til at give den en anden værdi tidligere i koden, og så fungere intet.
Den pæne version af den kode du har fået til at virke er:
for ($i = 0; list ($linknavn) = mysql_fetch_row(result); $i++) { ${"aktuel_link".$count."_linkheader"} = $linknavn; }
echo $aktuel_link0_linkheader;
Det forvirre dig måske mere end det hjælper!?
Synes godt om
Slettet bruger
12. september 2002 - 08:08#16
ups. koden inde i lykken skal være:
${"aktuel_link".$i."_linkheader"} = $linknavn;
Synes godt om
Ny brugerNybegynder
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.