Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL] Wyświetlenie danych z 3 tabel
mx500
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.05.2013

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


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.
Go to the top of the page
+Quote Post
Elber
post
Post #2





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

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


Możesz to zrobić w jednej kwerendzie stosując np. LEFT JOIN (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mx500
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.05.2013

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


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ę.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 14.09.2025 - 21:43