Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Wyświetlanie wyników pobranych z 2 tablic
Forum PHP.pl > Forum > Przedszkole
slawek_jg
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
  1. CREATE TABLE `kat_menu` (
  2. `id` tinyint(4) NOT NULL AUTO_INCREMENT,
  3. `nazwa_menu` text NOT NULL,
  4. `menu_id` text NOT NULL,
  5. PRIMARY KEY (`id`)
  6. )
  7.  
  8. CREATE TABLE `menu` (
  9. `id` tinyint(4) NOT NULL AUTO_INCREMENT,
  10. `nazwa` text character SET latin1 NOT NULL,
  11. `link` text character SET latin1 NOT NULL,
  12. `id_menu` text character SET latin1 NOT NULL,
  13. PRIMARY KEY (`id`)
  14. )

plik menu.php
  1. <?
  2.  
  3. /* Tutaj tworzymy połączenie z baza danych */
  4.  
  5. $dbhost = 'localhost'; //domyslnie jest localhost ale to zalezy do hostingu
  6. $dbuser = 'root'; // tutaj podajemy login do bazy danych
  7. $dbpass = ''; // tutaj podajemy nasze haslo do bazy
  8. $dbname = 'as_portal'; // natomiast tutaj wpisujemy nazwe bazy danych
  9.  
  10. $dbc = @mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Nie moge połączyć sie z bazą danych. Przepraszamy z kłopoty');
  11. mysql_select_db ($dbname) or die ('Problemy z baza danych. Przepraszamy z kłopoty');
  12. $co=1;
  13. $wynik = mysql_query ("SELECT * FROM menu,kat_menu where menu.id_menu = kat_menu.menu_id ;");
  14.        while ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {
  15.          foreach($rekord as $klucz => &$wartosc) {$wartosc = stripslashes($wartosc);}
  16.                    print "<table border=\"0\" width=\"150\"><tr>";
  17. print "<td bgcolor=\"#408080\">".$rekord['nazwa_menu']."</td>";
  18. print "</tr>";
  19. //wyswietla zmienne kolory linkow w menu
  20.    if($co%2==0){
  21.                            print "<tr><td bgcolor=#c0c0c0><a href=".$rekord['link'].">".$rekord['nazwa']."</a></td>";
  22.                            }
  23.    else {
  24.                print "<tr><td bgcolor=#808080><a href=".$rekord['link'].">".$rekord['nazwa']."</a></td>";
  25.                    }
  26. $co++;
  27. print "</tr></table>";
  28. }
  29. ?>


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 .
memory
Kod
$wynik = mysql_query ("SELECT DISTINCT nazwa_menu as nazwa,* FROM menu,kat_menu where menu.id_menu = kat_menu.menu_id;");
print "<td bgcolor=\"#408080\">".$rekord['nazwa']."</td>";
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.