Autor Zpráva
nightrider
Profil
Mám kódík na vytahování kategorie a subkategorie. Už jsem to tu řešil v předchozí diskusi,ale už tam byl jenom zmatek, tak jsem se rozhodl založit čestvou se současným problémem a to tím že i když jsem přesvědčenej že je vše jak má, tak se nic nezobrazí:

<?php
function getTree($nodeId)
{
  $stack = array();
  $level = 0;
  $res = mysql_query('SELECT id_kategorie, nazev FROM kategorie WHERE id_kategorie='.$nodeId);
  $row = mysql_fetch_assoc($result) or print("<center><div class=\"error\"><b>Došlo k chybě v dotazu:</b> ".$q. "" .mysql_error())."</div></center>";
  $row['LEVEL'] = 0;
  array_push($stack, $row);
  while(count($stack)>0)
  {
    $r = array_pop($stack);
    echo str_repeat("&nbsp;",$r['LEVEL']).$r['nazev']."<br />";
    $res = mysql_query('SELECT id_kategorie, nazev FROM kategorie WHERE parent_id='.$r['id_kategorie']);
    if(mysql_num_rows($res)>0) {
      $level = $r['LEVEL']+1;
    }
    while($row = mysql_fetch_assoc($result)) {
      $row['LEVEL'] = $level;
      array_push($stack, $row);
    }
  }
}
?>
Kajman_
Profil *
Je lepší předpočítávat lft a rgt. Další článek je o tom např.
http://php.vrana.cz/traverzovani-kolem-stromu-prakticky.php
Pak nemusíte zahlcovat db stroj tolika dotazy.

A víte, že tu funkci musíte také zavolat? Zkuste na konec

print_r(getTree(0));
nightrider
Profil
Když to udělám, tak se ozvě chybová hláška:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /3w/zaridi.to/t/testr/config/kategorie.php on line 7
Došlo k chybě v dotazu:


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /3w/zaridi.to/t/testr/config/kategorie.php on line 15

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /3w/zaridi.to/t/testr/config/kategorie.php on line 18
Kajman_
Profil *
Máte blbě dotazy. Vypište si jejich stav a chybová hlášení mysql.
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=28&topic=37836
nightrider
Profil
Teď to dělám podle stránky kterou jste mi poslal a je vážně dobrá :-) výsledky se mi skutečně zobrazily, ale ne tak jak by jsem chtěl docílit
Kajman_
Profil *
A nebo dotazy můžou být dobře a máte jen zmatky mezi $res a $result.
nightrider
Profil
Kde je problem? Nechci Test jako sub, ale jako hlavni kategorii.
Joker
Profil
nightrider
Nechci Test jako sub, ale jako hlavni kategorii.
Problém je v tom, že Test není hlavní kategorie. Má rodiče "Kategorie zboží".
Pak je potřeba udělat výpis jenom jedné kategorie.

edit- blbost, ten dotaz byl špatně.
nightrider
Profil
Nemůže mi někdo po dvou dnech dát prosím jasnou odpověď? Vážně jsem už stoho dost unavenej
nightrider
Profil
Jééééééééééééé, lidi jste zlatííííí. Už mi to dfunguje :-) :-) :-) :-) :-) :-) :-)
nightrider
Profil
Jenom vymenit obrázky zda mi to posvětíte .-)
Joker
Profil
Přepíšu svůj předchozí příspěvek:

V tomhle případě by bylo potřeba dělat výpis ne všech kategorií, ale jenom uvnitř kategorie "Kategorie zboží".
U toho algoritmu traverzování stromem na tohle slouží právě ten levý a pravý index.

Kategorie leží uvnitř kategorie XY, pokud její levý index je větší než levý index XY a současně pravý index je menší než index XY

Připomínám ale, že na začátku je potřeba zaindexovat strom, tj. přiřadit kategoriím levé a pravé indexy.
nightrider
Profil
Děkuji všem zůčastněným a hlavně jokerovi
Toto téma je uzamčeno. Odpověď nelze zaslat.

0