Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Następny i poprzedni rekord
Forum PHP.pl > Forum > PHP
adamantd
Witam jak w temacie
Co najdziwniejsze już wcześniej korzystałem z tego typu zapisu i wszystko zawsze działało bo właściwie w tym nie ma co nie działać a jednak

  1.  
  2. public function nextPrevPropo($NEPRE, $NR){
  3. if($NEPRE=='prev'){//dla poprzedniej
  4. $re = connect::select("SELECT MIN(id), type, id_pr FROM ".INDEX_ALL_PROP." WHERE id>'{$NR}'");
  5. if(is_array($re) && $re[0]['MIN(id)']!=false){
  6. return $re;
  7. } else {
  8. $re = connect::select("SELECT MIN(id), type, id_pr FROM ".INDEX_ALL_PROP);
  9. if(is_array($re)){
  10. return $re;
  11. }
  12. }
  13. }
  14. if($NEPRE=='next'){//dla następnej
  15. $re = connect::select("SELECT MAX(id), type, id_pr FROM ".INDEX_ALL_PROP." WHERE id<'{$NR}'");
  16. if(is_array($re) && $re[0]['MAX(id)']!=false){
  17. return $re;
  18. } else {
  19. $re = connect::select("SELECT MAX(id), type, id_pr FROM ".INDEX_ALL_PROP);
  20. if(is_array($re)){
  21. return $re;
  22. }
  23. }
  24. }
  25. }
  26.  


kiedy klikam na link, który ma mnie przerzucić na stronę poprzednią wszystko gra, prev, prev, prev, prev -jak się skończy tabela to od początku i takie koło

problem polega na tym, że zawsze kiedy klikam na link, który ma mnie przerzucić na stronę następną to przerzuca mnie do pierwszego rekordu w tabeli choćbym był dopiero w środku tabeli

po wszelkich możliwych testach wychodzi na to, że problem leży w drugiej części tego skryptu w ifie 'next'. Choć wg mnie w kodzie wszystko jest w porządku. Używam go też w innej części aplikacji i tam wszystko działa bez zarzutów

W czym może być problem?

edit:

mała poprawka -pobiera to MAX(id) które powinien pobrać -pozostałe wartości (type, id_pr) pobiera z pierwszego rekordu -to już w ogóle jest niezrozumiałe dla mnie..

//////////////////////////////////////////////

/////////////////////////////////////////////


Problem rozwiązany (choć wg mnie tymczasowo, ponieważ chciałbym wiedzieć dlaczego tamten zapis nie działa -chociaż w innej części serwisu działa bez problemów)

Póki co drugą część skryptu przerobiłem:

  1.  
  2. if($NEPRE=='next'){//dla następnej
  3. $re = connect::select("SELECT id, type, id_pr FROM ".INDEX_ALL_PROP." WHERE id<'{$NR}' ORDER BY id DESC LIMIT 0, 1");
  4. if(is_array($re) && $re[0]['id']!=false){
  5. return $re;
  6. } else {
  7. $re = connect::select("SELECT id, type, id_pr FROM ".INDEX_ALL_PROP." ORDER BY id DESC LIMIT 0, 1");
  8. if(is_array($re)){
  9. return $re;
  10. }
  11. }
  12. }
  13.  
  14.  


teraz działa -choć jak widać prev i next są napisane różnymi metodami i jeśli ktoś zna odpowiedź dlaczego nie chciało działać a teraz działa to byłoby mi miło smile.gif
wNogachSpisz
Jak można nazwać klasę "connect"?
adamantd
Nie nazwałem tak klasy bo to zbyt popularna nazwa i miałbym obawy czy nie jest zarezerwowana przez php -pozmieniałem na szybko nazewnictwo na potrzebę przykładu, ale dzięki za odpowiedź
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.