Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Pobranie wyników z dwóch tabel - problem z wyświetleniem - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Pobranie wyników z dwóch tabel - problem z wyświetleniem (/thread-pobranie-wynikow-z-dwoch-tabel-problem-z-wy%C5%9Bwietleniem)



Pobranie wyników z dwóch tabel - problem z wyświetleniem - free - 30-08-2008

Tak jak w temacie. Zapytanie wygląda tak:
Kod PHP:
$sql "SELECT m.id, m.cat_id, m.menu_name, c.id as cid, c.cat_name 
FROM portal_menu m, portal_menu_cat c 
WHERE m.cat_id = c.id 
ORDER BY id ASC"

Jako wynik dostaje tabice asocjalną.
Funkcja która wykonuje polecenie wygląda tak:
Kod PHP:
function fetcharray(){

global 
$wynik;

while (
$wiersz mysql_fetch_array($wynik,MYSQL_ASSOC)){

$row[] = $wiersz;

}

return 
$row;


Wszystko jest ładnie gdyby nie to, że nie wiem jak wyświetlić to tak jak należy. Jak do tej pory to udało mi się uzyskać efekt:
Kod:
kat1
opcja1
kat1
opcja2
kat2
opcja3
A powinno być:
Kod:
kat1
opcja1
opcja2
kat2
opcja3



RE: Pobranie wyników z dwóch tabel - problem z wyświetleniem - kris29 - 30-08-2008




RE: Pobranie wyników z dwóch tabel - problem z wyświetleniem - free - 30-08-2008

To możesz napisać co zrobić z tym? Pętli zawsze używałem i działała, ale niestety pierwszy raz musze pobrać właśnie takie dane i nie mam pojęcia jak to zrobić pisząc własne klasy :/ Próbowałem na różne sposoby ale nie daje to żadnego efektu :/


RE: Pobranie wyników z dwóch tabel - problem z wyświetleniem - kris29 - 31-08-2008

Kod PHP:
$result mysql_query($sql);

$numrows mysql_num_rows($result);

if(
$numrows == 0)
{
    echo 
"Brak wyników zapytania";
}
else
{
    echo 
"<table>";

    while(
$row mysql_fetch_assoc($result))
    {
         echo 
"<tr>";
         echo 
"<td>" $row['id'] . "</td>";
         echo 
"<td>" $row['cat_id'] . "</td>";
         echo 
"<td>" $row['menu_name'] . "</td>";
         echo 
"<td>" $row['cid'] . "</td>";
         echo 
"<td>" $row['cat_name'] . "</td>";
         echo 
"</tr>";
    }

     echo 
"</table>";

Napisałeś coś takiego:
Kod:
kat1
opcja1
opcja2
kat2
opcja3
Gdybyś powiedział z którym polem tabeli bazy danych koresponduje kat(1, 2, 3, ....n) oraz opcja(1, 2, 3, ....n) to było by jasne.


RE: Pobranie wyników z dwóch tabel - problem z wyświetleniem - free - 31-08-2008

Niestety to jeszcze nie to. Jeśli chodzi o tabele to w tabeli z opcjami menu jest pole o nazwie cat_id i ono oznacza do której kategorii ma być przypisana ta opcja.


RE: Pobranie wyników z dwóch tabel - problem z wyświetleniem - kris29 - 01-09-2008




RE: Pobranie wyników z dwóch tabel - problem z wyświetleniem - free - 07-09-2008

Podziękował Wink