Autor Zpráva
šneky
Profil *
Zdravim,
nasel jsem priklad, ktery by mel generovat z DB strom do vypisu pod sebou obsazeny mezerami podle urovne vnořený, ale nic mi to nedela ... je tam nekde chyba ? (databaze a tabulky jsou spravne)

prosim poradte
----------------------

function getTree($parent, $level) {
$result = mysql_query("SELECT id,cuid,nazev FROM kategorie WHERE cuid='.$parent.'");
while ($row = mysql_fetch_assoc($result)) {
echo str_repeat("&nbsp;",$level).$row['nazev']."<br />";
getTree($row['cuid'], $level++);
}
}


echo getTree();

------------ NEFUNGUJE TO


chtel jsem vypis strukury obsazedny bud mezerami, nebo linkami podle urovne (jen vypis ... zadny klikaci ani rozbalovaci veci nechci)
treba

menu 1
menu 2
-- menu 2a
-- menu 2b
---- menu 2b 1
---- menu 2b 2
menu 3

chjo nevim jak na to, aby to bylo jendoduche a ne zadne sliozire zapisy :( v DB mam pole id, id_parent a nazev
Kcko
Profil
function getTree($parent, $level = 0) {
$result = mysql_query("SELECT id,cuid,nazev FROM kategorie WHERE cuid='.$parent.'");
while ($row = mysql_fetch_assoc($result)) {
echo str_repeat("&nbsp;",$level).$row['nazev']."<br />";
getTree($row['cuid'], $level + 1);
}
}
šneky
Profil *
Bohužel stále nic :(

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\gs\test.php on line 18

DB na zev tabulky i sloupců jsou v poradku .. nechapu v čem je problem :(
DJ Miky
Profil
Protože poprvé tu funkci nevoláš s parametrem $parent (voláš jen getTree()) a pak výsledný dotaz vypadá takto:
SELECT id,cuid,nazev FROM kategorie WHERE cuid=''
Dej si vypsat mysql_error() a zjistil bys to. Poprvé musíš tu funkci volat s nějakým $parent, nebo v definici nastavit třeba $parent=1.
šneky
Profil *
DJ Miky

jsem to take zkousel volat echo getTree(11); i echo getTree(11,1); nebo echo getTree(11,0); .... stále to stejné píše (hodnota 11 existuje)

PS: nemůže být problém, že mam apache triadu a nejnovější PHP 5 ?

oči bych na tok mohl nechat a nenajdu v čem je problem ...
šneky
Profil *
s tim mysql_error() se mi tam ukazalo, kro porad te stejne hlasky i cislo 1046 .. a na netu nic nenachazim co by to cislo melo znamenat :(
šneky
Profil *
aha, ono je to 1046 čislo označení , že neni vybrana databaze .. mozna ze jsem vetsi lama než jsem si vubec pripoustel ... zkusim to
king26
Profil
$result = mysql_query("SELECT id,cuid,nazev FROM kategorie WHERE cuid='".intval($parent)."'"); 

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0