Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]php mysql wybrane rekordy
Forum PHP.pl > Forum > Przedszkole
qbas-s
Witam,

mam w mysql tabelę a w niej np 1000 rekordów.
Jak za pomocą php pobrać rekordy od 200-300.
Zaznaczam, że id nie jest uporządkowane w sposób ciągły, gdyż niektóre rekordy zostały skasowane.

Pozdrawiam
piotrooo89
WHERE id>200 OR id<300

WHERE id>=200 AND id<=30 tak ma być.
potreb
Cytat(piotrooo89 @ 24.09.2009, 19:37:25 ) *
WHERE id>200 OR id<300


Piotrooo jeżeli chce pobrać od 200 rekordu do 300 to okey, aleniektóre rekordy mogą być skasowane, więc nie będzie ich 100
piotrooo89
Cytat(potreb @ 24.09.2009, 21:40:11 ) *
Piotrooo jeżeli chce pobrać od 200 rekordu do 300 to okey, aleniektóre rekordy mogą być skasowane, więc nie będzie ich 100


no i co w związku z tym?

ps. tam mi sie byk zrobił powinno być:

  1. WHERE id>=200 AND id<=300
qbas-s
Właśnie o tym pisałem. Jak mimo nie ciągłości id pobrać ten przedział rekordów?

PS. Piotrooo odnośnie Twojego motta "Łatwo wyrwać dziewczynę ze wsi..." - chyba jednak dziewczyny z miasta są łatwiejsze(bardziej szalone, spontaniczne:))
piotrooo89
Cytat(qbas-s @ 24.09.2009, 21:44:06 ) *
Właśnie o tym pisałem. Jak mimo nie ciągłości id pobrać ten przedział rekordów?


a sprawdzałeś ten mój kod? bo ja mam rekordy np tak id: 1, 2, 4, 5, 6 i pobiera wszystko pięknie ładnie.

Cytat(qbas-s @ 24.09.2009, 21:44:06 ) *
PS. Piotrooo odnośnie Twojego motta "Łatwo wyrwać dziewczynę ze wsi..." - chyba jednak dziewczyny z miasta są łatwiejsze(bardziej szalone, spontaniczne:))


noo można się kłócić tongue.gif
qbas-s
Piotrooo w przedziale od 200 do 300 może brakować 10 rekordów gdyż indeksowanie nie zaczyna się od początku po usunięciu jakiegoś rekordu a mi chodzi o 100 rekordów a nie o 90
potreb
Cytat(qbas-s @ 24.09.2009, 19:44:06 ) *
Właśnie o tym pisałem. Jak mimo nie ciągłości id pobrać ten przedział rekordów?

PS. Piotrooo odnośnie Twojego motta "Łatwo wyrwać dziewczynę ze wsi..." - chyba jednak dziewczyny z miasta są łatwiejsze(bardziej szalone, spontaniczne:))


Paginacja wyników, limit 100,200
blooregard
  1. WHERE id >= 200 LIMIT 1,100


//EDIT: dokładnie to, co napisał piotrooo89 niżej: jak będzie brakować 10-ciu w przedziale 200-300, to ostatni pobrany rekord będzie miał id=310
piotrooo89
ale jak masz przedział 100 rekordów nie masz w nich 10 to jak chcesz pobrać 100 rekordów z tego przedziału? chyba że Ci się powtarzają id.
qbas-s
Cytat(piotrooo89 @ 24.09.2009, 21:46:20 ) *
a sprawdzałeś ten mój kod? bo ja mam rekordy np tak id: 1, 2, 4, 5, 6 i pobiera wszystko pięknie ładnie.


a jeśli w tym przypadku byś chciał pobrać 3 pierwsze rekordy wtedy masz zapytanie where id>0 and id<4 i dostaniesz tylko rekordy z id=1 i id=2 a trzeciego nie ma:)
piotrooo89
w takim razie musisz użyć paginacji jak to ~potreb wspomniał.
Rymar
  1. $sql = "SELECT * FROM tabela ORDER BY id";
  2. $result = mysqli_query($polaczenie,$sql);
  3. $i = 1;
  4. while($row = mysqli_fetch_assoc($result)){
  5. if($i >= 200 && $i <= 300) {echo 'co tam chcesz';$i++;}
  6. else { $i++;continue;}
  7. if($i > 300) break;
  8.  
  9. }

a tak ?
  1. $sql = "SELECT * FROM tabela ORDER BY id LIMIT 200,100";
  2. $result = mysqli_query($polaczenie,$sql);
  3. while($row = mysqli_fetch_assoc($result)){
  4. echo 'co tam chcesz';
  5. }
qbas-s
rozwiązanie blooregard jak dla mnie jest najlepsze:)
oczywiście sog:)
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.