Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Problem z zapytaniem do mysql .
Forum PHP.pl > Forum > Przedszkole
slewin
Witam , mam problem z zapytaniem do mysql . Robie sobie menu na stronkę , w ramach ćwiczeń tongue.gif .
Natrafiłem na problem . Mam dwie tabele z danymi
1. kategorie Menu 2. menu glowne - gdzie trzymam linki itp.

W nich mam dane , problem stanowi zapytanie . Zrobiłęm sobie zapytanie ale wyświetla mi nie to co bym chciał .

Założenie miałem take : w tabeli 1 trzymam nazwy np. Menu Główne a w tabeli 2 trzymam opisy i linki np. strona glowan ,forum ,galeria, ona i on , cos i cos ....
Wszystko fajnie na papierze ale w rzeczywistości wyświetla mi tylko pierwsze rekordy z obu tablic .
Oto zapytanie które napisałem
  1. $wynik = mysql_query ("SELECT * FROM kat_menu , menu_gl where kat_menu.id_menu = menu_gl.id_kat_menu GROUP BY id_kat_menu ;");


wczesniej dawlem zapytanie :
  1. $wynik = mysql_query ("SELECT * FROM kat_menu , menu_gl where kat_menu.id_menu = menu_gl.id_kat_menu ;"); i oto wynik



wynik jaki chciałbym osiągnąć jest taki jak poniżej , ale te zapytania powyżej nie dają takiego rezultatu :

Posortowanie według kategorii i odpowiadających im linków

oto kod odpowiedzialny za wyswietlanie tego menu z bazy :
  1. <?php
  2. echo '<table border="0" cellspacing="0" cellpadding="0" bgcolor="'.$kolortabmenu.'" frame="box" width="100%">';
  3.    $wynik = mysql_query ("SELECT * FROM kat_menu , menu_gl where kat_menu.id_menu = menu_gl.id_kat_menu GROUP BY id_kat_menu ;");
  4.        while ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {
  5.                foreach ($rekord as $klucz => &$wartosc) {$wartosc = stripslashes($wartosc);}
  6.  
  7.                echo '<tr><th>';
  8. echo $rekord['id_menu'].'.'.$rekord['opis_menu'];
  9. echo '</th></tr><tr>';
  10.  
  11. echo '<td bgcolor="'.$kolor1.'" onmouseover="bgColor='.$kolor2.'" onmouseout="bgColor='.$kolor1.'">';
  12. echo '&nbsp;&nbsp;<a href="'.$rekord['url'].'">'.$rekord['opis_link'].'</a></td></tr>';
  13. }
  14. echo '</table>';
  15. ?>


Pewnie problem jest trywialny dal wiekszości , ja nie nie wiem jak sobie z tym poradzic
Prym
szczerze przerobiłbym to tak smile.gif :

  1. <?php
  2. $idMenu=0;
  3. while ($rekord = mysql_fetch_array($wynik)) {
  4.    if ($idMenu!=$rekord['id_menu']) {
  5.      echo '<tr><th>';
  6.        echo $rekord['id_menu'].'.'.$rekord['opis_menu'];
  7.        echo '</th></tr><tr>';
  8.        $idMenu=$rekord['id_menu'];
  9.    }
  10.    echo '<tr><td bgcolor="'.$kolor1.'" onmouseover="bgColor='.$kolor2.'" onmouseout="bgColor='.$kolor1.'">&nbsp;&nbsp;<a href="'.$rekord['url'].'">'.$rekord['opis_link'].'</a></td></tr>';
  11. }
  12. ?>


i powinno śmigać
slewin
śmiga smile.gif . <piwko> dzięki wielkie .
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.