Witam ,
mam problem z wyświetlaniem wyników pobieranych z bazy . A więc mam plik menu.php które wyświetli mi menu strony. Utworzyłem tabele kat_menu oraz menu (patrz niżej ) . Napisałem skrypt lecz coś źle .
Skrypt generuje wyniki :
Kod
Nazwa kategorii menu 1
link1
Nazwa kategorii menu 1
link2
Nazwa kategorii menu 2
link1
Nazwa kategorii menu 2
link2
.
.
. itd
a chciałbym aby wyniki były wyświetlane w ten sposób
Kod
Nazwa kategorii menu 1
link1
link2
...
Nazwa kategorii menu 2
link1
link2
...
oto baza
CREATE TABLE `kat_menu` (
`id` tinyint(4) NOT NULL AUTO_INCREMENT,
`nazwa_menu` text NOT NULL,
`menu_id` text NOT NULL,
PRIMARY KEY (`id`)
)
CREATE TABLE `menu` (
`id` tinyint(4) NOT NULL AUTO_INCREMENT,
`nazwa` text character SET latin1 NOT NULL,
`link` text character SET latin1 NOT NULL,
`id_menu` text character SET latin1 NOT NULL,
PRIMARY KEY (`id`)
)
plik menu.php
<?
/* Tutaj tworzymy połączenie z baza danych */
$dbhost = 'localhost'; //domyslnie jest localhost ale to zalezy do hostingu
$dbuser = 'root'; // tutaj podajemy login do bazy danych
$dbpass = ''; // tutaj podajemy nasze haslo do bazy
$dbname = 'as_portal'; // natomiast tutaj wpisujemy nazwe bazy danych
$dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or
die ('Nie moge połączyć sie z bazą danych. Przepraszamy z kłopoty'); $co=1;
$wynik = mysql_query ("SELECT * FROM menu,kat_menu where menu.id_menu = kat_menu.menu_id ;"); foreach($rekord as $klucz => &$wartosc) {$wartosc = stripslashes($wartosc);} print "<table border=\"0\" width=\"150\"><tr>"; print "<td bgcolor=\"#408080\">".$rekord['nazwa_menu']."</td>"; //wyswietla zmienne kolory linkow w menu
if($co%2==0){
print "<tr><td bgcolor=#c0c0c0><a href=".$rekord['link'].">".$rekord['nazwa']."</a></td>"; }
else {
print "<tr><td bgcolor=#808080><a href=".$rekord['link'].">".$rekord['nazwa']."</a></td>"; }
$co++;
}
?>
Mam pomysł taki aby to jakoś zapętlić ? Ale nie wiem czy dobrze myślę a jeśli nawet dobrze to w którym miejscu wstawić pętle ?
Proszę o pomoc .