Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zapytanie JOIN
Forum PHP.pl > Forum > Przedszkole
maly_pirat
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.
Robert007
użyj while:
  1. <?php
  2. while($row = @mysql_fetch_array($result))
  3.        {
  4. ?>
maly_pirat
Mam while, dodam jeszcze, że gdy wrzucam do pętli fragment odpowiadający za wyświetlanie medalu, najpierw go "filtruje" przez funkcję.
singles
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ć.
nospor
Cytat
Zapytanie nadal te same:
jasne...
najpierw miales c.* a teraz masz c*
singles
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.
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.