Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] problem z parametrem limit
Forum PHP.pl > Forum > Przedszkole
pavelb
Witam!
Oto kod:

  1. <?php
  2. $kategoria = 1;
  3.  
  4. $sql = "SELECT * FROM menu WHERE id='$kategoria'";
  5. $result = mysql_query($sql);
  6. while($r = mysql_fetch_array($result)) {
  7. $pozycja = $r['pozycja'];
  8.  
  9. $sqlb = "SELECT * FROM rzecz WHERE kat_id='$pozycja'";
  10. $resultb = mysql_query($sqlb);
  11. while($rb = mysql_fetch_array($resultb)) {
  12. $tytul = $rb['tytul'];
  13. echo $tytul.'<br />';
  14.  
  15. }
  16. }
  17. ?>


Moje pytanie jak wyświetlić tylko 3 rzeczy?
Wstawienie LIMIT 3 nic tu nie daje bo są 2 pętle z wieloma wynikami dry.gif
Wie ktoś co w tej sytuacji zrobić ?
Pozdro
Adrian Staniszewski
ale w ktorej petli chcesz wyswietlic 3 rzeczy questionmark.gif
pierwszej czy drugiej questionmark.gif
pavelb
Pierwsza pętla daje tylko $pozycja do drugiej pętli.
Druga pętla wyświetla dane.
W momencie jak dam limit 3 w drugiej pętli to wyświetla po 3 rzeczy, ale pierwsza pętla kilkakrotnie to powtarza i w sumie wyświetla się dużo więcej.

I jak by ten problem dało się rozwiązać mógłbym zrobić sobie stronicowanie...
batman
Moim zdaniem robisz "drobny" błąd wykonując zapytania SQL w pętli.

Nie prościej (i wydajniej!) byłoby zrobić takie coś:

  1. <?php
  2. $sql = "select * from rzecz where kat_id in (select pozycja from menu where id="'.(int)$kategoria.'") limit 3";
  3. $res = mysql_query($sql);
  4.  
  5. while($row = mysql_fetch_assoc($res)) {
  6. echo $row['tytul'].'<br />';
  7. }
  8. ?>


Pisane z palce, więc mogła zdarzyć się literówka lub jakiś banalny błąd winksmiley.jpg
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.