Autor Zpráva
garf
Profil *
Zdravim,
potřeboval bych pomoci s následujícím. Mám tabulka, kde mám sloupce id,sub_id,nazev,url, poradi. Vždy se na nějakou položku v menu váže submenu. A já bych potřeboval pro položky v poli vytvořit pořádné adresy. Vytvořil jsem si výpis:
	  $menu=mysql_query("
	  SELECT *
	  FROM navigace
	  ORDER BY poradi ASC") or die(mysql_error());
	   while($m=mysql_fetch_array($menu)){
	    if($m[sub_id]==0){
	     echo'<li><a href="/'.$m[url].'/">'.$m[nazev].'</a></li>';
		}else{
		 $id[]=$m[id];
		 $sub_id[]=$m[sub_id];
		 $url[]=$m[url];
		 $nazev[]=$m[nazev];
		}
	   }

Takže když například kliknu na Novinky, tak hlavní url je "novinky" a v submenu se mi zobrazí Archiv novinek, kterej má url "archiv" a já bych potřeboval, aby url v tom submenu se skládala z obou url. Tzn. "novinky/archiv". Snad jsem to popsal jasně :).

Díky za pomoc
AM_
Profil
no, vzhledem k tomu, že ani "novinky" ani "archiv" není platná URL adresa, tak je to trochu nejasné :)
Navíc co řádek to chyba, $m['sub_id'] atd.
Doporučuji si v php.ini nastavit error_reporting na E_ALL, aby se ti zobrazovaly i notices - pak uvidíš, že tam máš i další chyby (přístup k neexistujícím polím atd...)

Nevím, jak fungují vazby mezi id a sub_id, takže ti neporadím asi úplně přesně. Předpokládejme, že sub_id je id nadřazené položky.
SELECT
  nav.nazev,
  nav_sub.nazev as sub_nazev,
  nav.url,
  nav_sub.url as sub_url,
  
  FROM navigace nav
  LEFT JOIN navigace nav_sub ON nav.id=nav_sub.sub_id
  ORDER BY poradi ASC

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