<?php
$dotaz1 = "SELECT * FROM nabidka WHERE nabidka_kategorie = 'Jídlo'";
$vysledek1 = mysql_query($dotaz1) or die(mysql_error() );
while($radek1 = mysql_fetch_array($vysledek1)) {
extract($radek1);
echo "<h1> $nabidka_skupina </h1>";
$dotaz2 = "SELECT * FROM nabidka WHERE nabidka_skupina = '$nabidka_skupina'";
$vysledek2 = mysql_query($dotaz2) or die(mysql_error() );
while($radek2 = mysql_fetch_array($vysledek2)) {
extract($radek2);
echo "1. $nabidka_nazev, nabídka_cena <br />";
}
}
?>
Tak už jsem celkem bezradný. Protože skript obsahuje mnoho formátovacích prvků, uvedu zde pro jednoduchost pouze "kostru" bez jakéhokoli formátování. Mám databázi a v ní tabulku "nabídka". V této tabulce se nachází jídelní lístky. Kromě názvu jídla, ceny či množství apod. jsou zde sloupce kategorie (označuje selekci mezi "jídlo", "pití") a sloupec "skupina", který označuje podskupinu např. kategorie jídlo a podskupina předkrmy, polévky apod. Cílem je vypsat tabulku tak, aby se zobrazila následovně:
Předkrmy
1. jeden předkrm 100 Kč
2. předkrm 200 Kč
Polévky
1. polévka slepičí 25 Kč
2. ....
atd. Jak na to? Logicky mi přišlo správné napsat skript, který jsem Vám zde uveřejnil. Skript funguje prakticky správně, ale nadpis i všechna jídla pod ním se vypíše 2x tzn.
Polévky
1. p1
2. p2
Polévky
1. p1
2.p2
Proč?? Kde dělám chybu?