Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zapytanie JOIN
maly_pirat
post 20.07.2009, 06:24:48
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

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


Cześć, problem tkwi w tym, że dodałem do zapytania informacje, aby pobierało informacje o nagrodach drużyny (CUP_WINNERS) - i tu pies pogrzebany, ponieważ wyświetla tylko jeden rekord, zamiast dwóch rekordów - przed dodaniem CUP_WINNERS było dobrze, jednak teraz wyświetla tylko jeden.

Sądzę, że problem leży w składni zapytania SQL.

Ten post edytował maly_pirat 20.07.2009, 12:35:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Robert007
post 20.07.2009, 06:30:28
Post #2





Grupa: Zarejestrowani
Postów: 167
Pomógł: 2
Dołączył: 1.07.2009
Skąd: Poznań

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


użyj while:
  1. <?php
  2. while($row = @mysql_fetch_array($result))
  3.        {
  4. ?>
Go to the top of the page
+Quote Post
maly_pirat
post 20.07.2009, 06:34:22
Post #3





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

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


Mam while, dodam jeszcze, że gdy wrzucam do pętli fragment odpowiadający za wyświetlanie medalu, najpierw go "filtruje" przez funkcję.

Ten post edytował maly_pirat 20.07.2009, 12:35:36
Go to the top of the page
+Quote Post
singles
post 20.07.2009, 07:41:56
Post #4





Grupa: Zarejestrowani
Postów: 121
Pomógł: 26
Dołączył: 2.07.2007

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


Jesteś pewien, że masz odpowiedni wpis w CUP_WINNERS ? To co napisałeś to praktycznie INNER JOIN - jak nie znajdzie odpowiadającego wpisu w CUP_WINNERS, to nie wyświetli rekordu. Poczytaj o różnicy pomiędzy INNER JOIN a LEFT JOIN (przy okazji RIGHT, OUTER) i może To Ci pomoże.

Ale bez przykładowych wpisów w bazie ciężko cokolwiek powiedzieć.


--------------------
Works for me => u mnie działa - blog o (o)programowaniu i nie tylko
meet.php - darmowe meetupy związane z PHP
Go to the top of the page
+Quote Post
nospor
post 20.07.2009, 08:49:17
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Zapytanie nadal te same:
jasne...
najpierw miales c.* a teraz masz c*


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
singles
post 20.07.2009, 09:19:49
Post #6





Grupa: Zarejestrowani
Postów: 121
Pomógł: 26
Dołączył: 2.07.2007

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


Cytat(maly_pirat @ 20.07.2009, 10:00:49 ) *
No i teraz podczas wyświetlania tego zapytania SQL
powinno wyglądać tak:
CUP_INFO (cw_tur)
1. PUCHAR#1, PUCHAR #2 -- klan o ID #1
2. brak pucharów, drugi zapisany klan o ID #2

Wydaje mi się, że to będzie tak:
Wyciągasz wszystkie klany z CUP_INFO, LEFT (!) JOINujesz CUP_WINNERS po ID klanu, grupujesz po ID klanu, a do wylistowania zdobytych pucharów w jednej komórce wykorzystujesz GROUP_CONCAT i odpowiednie operacje na ciągach.

Ten post edytował singles 20.07.2009, 09:19:59


--------------------
Works for me => u mnie działa - blog o (o)programowaniu i nie tylko
meet.php - darmowe meetupy związane z PHP
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 Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:39