Autor Zpráva
Tomashekk
Profil
Potřeboval bych poradit, jak poupravit níže uvedený kód aby se vždy začal dělat nový blok potom, co se vypíšou položky v submenu pro dané menu.
menu() vypisuje ciste te blok.

dal bych to do cyklu for, ovsem nevim jak to cele sesmolit. Vim ze to delam moc slozite. Tudíž když mi poradíte jak to celé zjednodušit. Budu moc rád. Chci se toho co nejvíc naučit.

<?php function menu($link){?>
/* celý div id menu se má opakovat tolikrát dokud bude mít co menu_name vypisovat */
<div id="menu">
            <div class="menu_head">
                <div class="menu_name"><?php menu_name($link); ?></div>
            </div>
            <div class="menu_body">
                <div class="menu_obsah">
                <?php menu_sub($link); ?>
                </div>
            </div>
            <div class="menu_footer"></div>
        </div>
        <?php 
}

function menu_sub($link) {

$dotaz = 'SELECT *  FROM `helppc_menu_sub` ORDER BY `rank` ASC';

					$vysledek = mysql_query($dotaz, $link) or die ("SQL dotaz nešlo provést"); ?>
<ul> <?php while ($radek = mysql_fetch_array($vysledek)) //Načte výsledný řádek do asociativního pole 
					 { ?>
        	<li><a href="index.php?page=<?php echo $radek['site']; ?>" title=""><?php print $radek['name_cz']; ?></a></li>
	    	<?php } ?>			
		</ul> <?php
}

function menu_name($link) {

$dotaz = 'SELECT *  FROM `helppc_menu` ORDER BY `ID` ASC';

					$vysledek = mysql_query($dotaz, $link) or die ("SQL dotaz nešlo provést");
					while ($radek = mysql_fetch_array($vysledek)) //Načte výsledný řádek do asociativního pole 
					 { 
        	echo $radek['name_cz'];
} 
} ?>

Přidáno v 18:06
Zda to chápu, tak něco jako je toto Odkaz
Ovšem OOP nechápu už vůbec
Tomashekk
Profil
Zatím jsem udělal něco takového, ovšem nějak netuším jak dál

function menu($link){
$dotaz = 'SELECT *  FROM `helppc_menu`';

					$vysledek = mysql_query($dotaz, $link) or die ("SQL dotaz nešlo provést"); 
					while ($radek = mysql_fetch_array($vysledek)) //Načte výsledný řádek do asociativního pole 
					 { $a = $radek['ID'];
                     
for($c=1; $c<$a; $c++){
	
	$dotaz = "SELECT *  FROM `helppc_menu_sub` WHERE `position` ='$c' ORDER BY `rank` ASC";

					$vysledek = mysql_query($dotaz, $link) or die ("SQL dotaz nešlo provést"); while ($radek = mysql_fetch_array($vysledek)) //Načte výsledný řádek do asociativního pole 
					 { 
        	print $radek['name_cz']; } 
echo($c."<br>");
}
}

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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