Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Konkretne rekordy
Forum PHP.pl > Forum > Przedszkole
z_line
Mam problem z zapytaniem (ogólnie jest w porządku, ale za dużo rekordów mi wyświetla)
  1. $result = mysql_query("SELECT * FROM yt WHERE tytul='Makijaż' AND status=0 ORDER BY id DESC");

Rekordy są pobierna z tabeli yt (YouTube). Chcę wyświetlić filmiki , ale czasem zdarza się (tak jak to jest w przypadku słowa kluczowego "makijaż"), że jest ich zbyt wiele. Są różne rekordy w bazie, a dokładniej mówiąc różne tytuły. Jak mogę zrobić, by wyświetlało np. 30 rekordów na podstawie danego słowa kluczowego, potem następne 30 rekordów...
Nie chodzi tu o "stronicowanie" wyników, lecz o wyświetlenie trzydziestu pierwszych wyników, potem zmiana zapytania i nastepne 30 wyników... itd
Prosze o pomoc
abort
LIMIT (MySQL)
z_line
Cytat(abort)
LIMIT (MySQL)

Nie rozumiem za bardzo. mam dodać do zapytania
  1. LIMIT MySQL

questionmark.gif?
b4rt3kk
Na końcu zapytania dodaj LIMIT:

  1. $result = mysql_query("SELECT * FROM yt WHERE tytul='Makijaż' AND status=0 ORDER BY id DESC LIMIT $poczatek, $rekordow_do_wyswietlenia");

z_line
Ale ja nie mam zmiennej $poczatek...
Co z tym zrobić
b4rt3kk
Domyślam się, że nie masz zmiennej początek, bo to tylko przykład, zamiast tego wstaw chociażby 0,30.

  1. $result = mysql_query("SELECT * FROM yt WHERE tytul='Makijaż' AND status=0 ORDER BY id DESC LIMIT 0, 30");


I zapytanie zwróci 30 pierwszych rekordów.
z_line
Dałem tak:
  1. $result = mysql_query("SELECT * FROM yt WHERE tytul='Makijaż' AND status=0 ORDER BY id DESC LIMIT 0,30, 30");

ale wyskaują błędy... nie wiem

Napisałeś, że $poczatek da mi pierwsze trzydzieści rekordów. Błąd. Chcę wyświetlić 30 rekordów i dlatego zamiast $rekordow_do_wyswietlenia dałem też 30. Gdzie jest błąd - nie wiem
abort
Przeanalizuj (DOKŁADNIE!!!) zapytanie sformułowane przez ciebie i porównaj z tym, które podał @b4rt3kk.
Nadal uważasz, że jest TAKIE SAMO?
b4rt3kk
Tak jak abort napisał, ale objaśnie to jeszcze bardziej szczegółowo. LIMIT to funkcja MySQL, która przyjmuje za argument albo liczbę, albo zakres, w pierwszym przypadku pokazuje x pierwszych rekordów, w drugim podajesz od którego rekordu ma zacząć i ile rekordów ma wczytać.

  1. LIMIT 30 - wczyta 30 pierwszych rekordów
  2. LIMIT 10,30 - wczyta również 30 rekordów, ale zaczynając od 1o.
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.