Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Problem z zapytaniem do mysql ., powiazanie tablic i wyciagniecie odpowiednich danych
slewin
post
Post #1





Grupa: Zarejestrowani
Postów: 104
Pomógł: 7
Dołączył: 9.12.2008
Skąd: wroc

Ostrzeżenie: (0%)
-----


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

Ten post edytował slewin 9.03.2009, 00:13:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Prym
post
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 11
Dołączył: 20.05.2007
Skąd: z fotela :)

Ostrzeżenie: (0%)
-----


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ć
Go to the top of the page
+Quote Post
slewin
post
Post #3





Grupa: Zarejestrowani
Postów: 104
Pomógł: 7
Dołączył: 9.12.2008
Skąd: wroc

Ostrzeżenie: (0%)
-----


śmiga smile.gif . <piwko> dzięki wielkie .

Ten post edytował slewin 9.03.2009, 00:25:08
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 12:14