bassebhu Medlem sedan nov. 2001 6 480 inlägg Frågan 1 nov. 2004 00:46 #1 Hej alla glada!
Jag har trasslat in mig rätt rejält i en funktion där jag loopar ut kategorier som ska finnas med i ett javascript.
Min kod:
echo "catArr[0] = \"0\";";
$num = 1;
while($rad = mysql_fetch_array($result)) {
$tidigare_kategori = $kategori;
$kategori = $rad["kat"];
if($kategori != $tidigare_kategori) {
if($num > 1) { echo "\";\n"; }
echo "catArr[".$num."] = \"";
$num = $num+1;
}
echo $rad["id"].";".$rad["underkat"]."|";
}
echo "\";";
Detta kan resultera följande om man har:
Huvudkategori: kat1 och Underkategorier: ukat1 och ukat2
Huvudkategori2: kat2 och Underkategorier2: ukat3 och ukat4
catArr[0] = "0";
catArr[1] = "1;ukat1|2;ukat2[b]|[/b]";
catArr[2] = "3;ukat3|4;ukat4[b]|[/b]";
Jag har säkert löst det jättedumt och ni förstår kanske inte vad funktionen är till för, men vid varje | så splittas den med en funktion i javascript som skapar ett nytt selectfält.
Allt funkar, men jag vill ha bort de sista | (fetmarkerade ovan) på varje rad.
Hur skriver jag den funktionen? :) Tackar!
bassebhu Medlem sedan nov. 2001 6 480 inlägg woho. löste det själv tro det eller ej. fultrix eller vad haha ;) jaja, det funkar ju så :P
echo "catArr[0] = \"0\";";
$num = 1;
while($rad = mysql_fetch_array($result)) {
$tidigare_kategori = $kategori;
$kategori = $rad["kat"];
if($kategori != $tidigare_kategori) {
if($num > 1) { $katstring = $katstring."\";\n"; }
$katstring = $katstring."catArr[".$num."] = \"";
$num = $num+1;
}
$katstring = $katstring.$rad["id"].";".$rad["underkat"]."|";
}
$katstring = $katstring."\";";
echo str_replace("|\";","\";",$katstring);
P Pedda Medlem sedan juni 2000 6 031 inlägg Bara en liten fundering
Kan du inte kolla med en if sats om $num > 1 så skriver den ut | id;underkat alltså med | först istället.
Patrik81 Medlem sedan okt. 2001 538 inlägg /r : Jag är för trött för att hålla på att koda...
Natti natti
MVH Patrik
bassebhu Medlem sedan nov. 2001 6 480 inlägg
Pedda skrev:
Bara en liten fundering
Kan du inte kolla med en if sats om $num > 1 så skriver den ut | id;underkat alltså med | först istället.
Det var också en intressant lösning. Ska kolla på det sen. Kanske smidar upp koden med nån millisekund :) tack :)