Autor Zpráva
microfox
Profil *
<div id="menu_vertical">  
<ul class="subpole">

 <?php
require "db.php"; // pripojeni k databazi   
  
$menu=mysql_query("select * from TK_LEVE_MENU WHERE typ='menu' ");
$nabidka1=mysql_query("select * from TK_LEVE_MENU WHERE typ='sub1' ");
$nabidka2=mysql_query("select * from TK_LEVE_MENU WHERE typ='sub2' ");    
$nabidka3=mysql_query("select * from TK_LEVE_MENU WHERE typ='sub3' ");  

while($zaznam = MySQL_Fetch_Array($menu)){
   echo "<li><a class='".$zaznam['typ_nabidky']."' href='index.php?page=kategorie&amp;id=".$zaznam['id']."'>". $zaznam['nazev']."</a>
   
      <ul> ";
      
          while($zaznam_1 = MySQL_Fetch_Array($nabidka1)){
   echo "<li><a class='".$zaznam_1['typ_nabidky']."' href='index.php?page=kategorie&amp;id=".$zaznam_1['id']."'>". $zaznam_1['nazev']."</a>
   
   
        <ul> ";
      
          while($zaznam_2 = MySQL_Fetch_Array($nabidka2)){
   echo "<li><a class='".$zaznam_2['typ_nabidky']."' href='index.php?page=kategorie&amp;id=".$zaznam_2['id']."'>". $zaznam_2['nazev']."</a>
   
         <ul> ";
      
          while($zaznam_3 = MySQL_Fetch_Array($nabidka3)){
   echo "<li><a class='".$zaznam_3['typ_nabidky']."' href='index.php?page=kategorie&amp;id=".$zaznam_3['id']."'>". $zaznam_3['nazev']."</a>
   
</li>"; } echo "</ul>
</li>"; } echo "</ul>
</li>"; } echo "</ul>
</li>"; }
 ?>
</ul>
</div> 

Ahoj, mám problém, že třeba když v nabídce úrovně č.3 není žádná položka tak to udělá to co je na obrázku:
http://www.image-upload.cz/upload/image-4078/original/0-ggg.png

Nevíte někdo jak toto ošetřit aby se nezobrazovala prázdná nabídka když tam nic v ní není? Nevím jak to ošetřit nebo jak to upravit :-( Dokázal by mi to někdo upravit? Přemejšlel jsem o podmínkách IF, ale to bude možná asi blbost...
panther
Profil
microfox:
Přemejšlel jsem o podmínkách IF, ale to bude možná asi blbost...
není to blbost, naopak, je to správná úvaha. Kontroluj, zda v daném bloku nějaká data jsou, teprve pak vypisuj.
microfox
Profil *
aha, no problém je že se ztrácím mezi <ul> a <li> a pořádně nevím kde ty podmínky mam dávat...asi před to <ul> protože pokud nebudou žádný položky tak ul se nesmí vypsat. Prohledávání jestli tam náká položka je taky pořádně nevím jak udělat. Dost se ztrácím v syntaxi. Mohl bych požádat o řešení aspoň u nabídky 3.úrovně o kód jak by to vypadalo? zbytek už bych si dodělal. Předem moc děkuji
panther
Profil
microfox:
if (mysql_num_rows($nabidka3) > 0) {
    echo '<ul>';
    while (...) {
        echo '<li>';
    }
    echo '</ul>';
}
microfox
Profil *
ňák se ztrácim v syntaxi :-(
<div style="width:200px; height:100px; background-color:red;"  >
<div id="menu_vertical">  
<ul class="subpole">
 
 <?php
require "db.php"; // pripojeni k databazi   
  
$menu=mysql_query("select * from TK_LEVE_MENU WHERE typ='menu' ");
$nabidka1=mysql_query("select * from TK_LEVE_MENU WHERE typ='sub1' ");
$nabidka2=mysql_query("select * from TK_LEVE_MENU WHERE typ='sub2' ");    
$nabidka3=mysql_query("select * from TK_LEVE_MENU WHERE typ='sub3' ");  
 
while($zaznam = MySQL_Fetch_Array($menu)){
   echo "<li><a class='".$zaznam['typ_nabidky']."' href='index.php?page=kategorie&amp;id=".$zaznam['id']."'>". $zaznam['nazev']."</a>
   
      <ul> ";
      
          while($zaznam_1 = MySQL_Fetch_Array($nabidka1)){
   echo "<li><a class='".$zaznam_1['typ_nabidky']."' href='index.php?page=kategorie&amp;id=".$zaznam_1['id']."'>". $zaznam_1['nazev']."</a>
   
   
        <ul> ";
      
          while($zaznam_2 = MySQL_Fetch_Array($nabidka2)){
   echo "<li><a class='".$zaznam_2['typ_nabidky']."' href='index.php?page=kategorie&amp;id=".$zaznam_2['id']."'>". $zaznam_2['nazev']."</a>  ";
         
       if (mysql_num_rows($nabidka3) > 0) {
    echo '<ul>';
      
          while($zaznam_3 = MySQL_Fetch_Array($nabidka3)){
   echo '<li><a class='".$zaznam_3['typ_nabidky']."' href='index.php?page=kategorie&amp;id=".$zaznam_3['id']."'>'. $zaznam_3['nazev'].'</a>  ';   }
    echo '</ul>';
}"
        

</li>"; } echo "</ul>
</li>"; } echo "</ul>
</li>"; } echo "</ul>
</li>"; } 
 ?>
</ul>
</div> 
</div>

Mohl by jste mě prosím opravit?


opraveno - dole to chtělo odmazat - </li>"; } echo "</ul> a změnil jsem si ' na " a funguje :-)

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: