Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapytanie i pętla foreach
Forum PHP.pl > Forum > Przedszkole
mirobor
Czy mógłby mi ktoś wytłumaczyć dlaczego poniższy kod pokazuje 10 tych samych wyników zamiast 10 kolejnych? Wymiękam już.
  1. $sql = "SELECT f.eventname, f.eventpic, f.ticket, f.datas, k.plcname, k.plccity, k.plcid, k.plcaddress, w.catname
  2. AS events
  3. FROM events f, places k, categories w
  4. WHERE f.eventcatid='$eventcatid'
  5. ORDER BY f.datas ASC
  6. LIMIT 0,10";
  7.  
  8. $result = $pdo->query($sql);
  9. foreach ($result as $row)
  10. { echo $row['eventname'];
  11. }

mirobor
Poniżej wg Twejgo poradnika, ale dalej to samo. Czy to aby nie kwestia błędnego zapytania? Nie widzę błędu, ale może zbyt długo już nad tym siedzę.


  1. $stmt = $pdo->prepare("
  2. SELECT f.eventname, f.eventpic, f.ticket, f.datas, k.plcname, k.plccity, k.plcid, k.plcaddress, w.catname
  3. AS categories
  4. FROM events f, places k, categories w
  5. WHERE f.eventcatid = :eventcatid
  6. LIMIT 0, 10");
  7. $stmt->bindValue(':eventcatid', $eventcatid, PDO::PARAM_STR);
  8. $stmt->execute();
  9. while($row = $stmt->fetch())
  10. { echo $row['eventname'];
  11. }
Turson
Wklej zapytanie do np. PhpMyAdmin i zobacz jakie są wyniki
mirobor
W phpmyadmin to samo. Więc zapytanie jest źle skonstruowane. Ale co tam jest źle? Listuje 9 tych samych rekordów i 10-ty kolejny. Kopnijcie mnie w dobrą stronę.
Turson
MySQL GROUP BY - poczytaj
rad11
A nie powiniennes uzyc LIMIT 10,10 jezeli chcesz kolejnych 10 wynikow?
mirobor
Dzięki, ogarnąłem to. Ostatnie pytanie o wydajność. Może lepiej z użyć JOIN?
rad11
Jezeli relacje istnieja to tak.
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.