Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL] Wyświetlenie danych z 3 tabel
Forum PHP.pl > Forum > Przedszkole
mx500
Witam
mam jeszcze jeden problem, który postaram się jasno opisać.
Mam trzy tabele w bazie danych:
PYTANIE(id_pytania, dane), ODPOWIEDZI(id_odpowiedzi,id_pytania),GŁOSY(id_glosu,id_odpowiedzi).

Zapisując ankietę do bazy rozbijam ją na dwie tabele: pytanie wrzucam do tabeli PYTANIA, a możliwe odpowiedzi do tabeli ODPOWIEDZI. Przy głosowaniu nowe głosy są zapisywane do tabeli GŁOSY wraz z id odpowiedzi, na którą oddano głos.

Potrzebuję wyświetlić dane w postaci:
['odp', 'liczba głosów']
i nie wiem jak to zrobić, czy jakoś w zapytaniu SQL można wyświetlić tabelę, która będzie po wybranym id_ankiety wyświetlała możliwe odpowiedzi z ilością oddanych głosów (czyli np. odp A 5 głosów, B 3 głosy itd.) i zczytywać tą tabelę poprzez PHP? Czy można to zupełnie obejść poprzez PHP?

Wyświetlanie odpowiedzi i ilość głosów na nie oddanych zrobiłam w ten sposób:
  1. $get=$_GET['id'];
  2. $id = mysql_query("SELECT * FROM `odpowiedzi` WHERE `id_pytania` = '".$get."'")
  3. or die('Błąd zapytania: '.mysql_error());
  4.  
  5. while($row = mysql_fetch_assoc($id)){
  6. $sql = mysql_query("SELECT COUNT(*) AS `liczba` FROM `glosy` WHERE `id_glosu` = '".$row['id']."'")
  7. or die('Błąd zapytania: '.mysql_error());
  8.  
  9. $result = mysql_fetch_assoc($sql);
  10. echo "".$row['odp']." ".$result['liczba']." </br>";
  11. }


Będę wdzięczna za wszelkie rady.
Elber
Możesz to zrobić w jednej kwerendzie stosując np. LEFT JOIN smile.gif
mx500
Jakoś udało mi się to obejść w PHP, ale myślę, że poprawię kod za Twoją radą, żeby był czytelniejszy i krótszy.
Dziękuję.
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.