Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Stronicowanie
Forum PHP.pl > Forum > Przedszkole
marcin0077
Witam

Robiłem stronicowanie i mam 2 problemy:
- chciałbym zrobić że jeśli dana strona jest aktywna to do "<a class="strona " dopisuje ' obecna' (linia 15 i 21)
- chciałbym zrobić aby wyświetlało np tylko 6 stron (linia 13 i 20)

  1. <?php
  2. if( (isset($_GET['page']) && ($_GET['page'] == "pages" || $_GET['page'] == "poczekalnia" || $_GET['page'] == "spory")) && isset($_GET['strona'])){
  3.  
  4. if(preg_match('/^([0-9]{1,})$/', $_GET['strona'])){
  5. echo '<div id="pages">';
  6.  
  7. $obecna = $_GET['strona'];
  8. $na_stronie = 5;
  9. $wykonaj = mysql_query("SELECT * FROM argue WHERE waiting = '0'");
  10. $ile=mysql_num_rows($wykonaj)+5;
  11. $max=mysql_num_rows($wykonaj)/5;
  12. $addClass = ($obecna == $i) ? ' obecna' : '';
  13. $promien = 3;
  14.  
  15. if($ile>$na_stronie) {
  16. print '<center>';
  17. if($obecna>=7){
  18. print '<a class="strona" href=/>1</a> ... ';
  19. }
  20. for($i=$obecna-$promien; $i<$obecna+$promien; $i=1; $i<ceil($ile/$na_stronie); $i++)
  21. print '<a class="strona'.$addClass.'" href="page/'.$i.'">'.$i.'</a>';
  22. }
  23. if($obecna<=ceil($max)-7){
  24. print ' ... <a class="strona" href="page/'.ceil($max).'">'.ceil($max).'</a>';
  25. }
  26. print '</center>';
  27.  
  28. while ($row = mysql_fetch_array($result))
  29. {}
  30.  
  31. echo '</div>';
  32. }
  33. else{
  34. header("Location: ../error404/");
  35. }
  36. }
  37. else{
  38. header("Location: ../error404/");
  39. }
  40. ?>


Pomoże ktoś?
Fifi209
Oczywiście. Napisałeś co chcesz osiągnąć, pokazałeś kawałek kodu jednak zapomniałeś napisać w czym występuje problem, czego nie rozumiesz.
Póki co wygląda to tak: mam jakiś kodzik, dopiszecie mi to?
marcin0077
Problem jest taki że nie działa smile.gif
Co do pierwszego to wydaje mi się że powinno być okej ale tej klasy ' obecna' nie dodaje. Nie ma żadnego błędu - nie wiem dlaczego
Cd2 to jak dodaje w for: $i=$obecna-$promien; $i<$obecna+$promien; to stronicowanie znika całkiem.
nospor
Cytat
Nie ma żadnego błędu - nie wiem dlaczego
Włącz sobie wyświetlanie wszystkich błędów to błędy zobaczysz
Tu masz napisane jak to się robi:
Temat: Jak poprawnie zada pytanie
marcin0077
Parse error: syntax error, unexpected ';', expecting ')' in /.../includes/pages.inc on line 21

Notice: Undefined variable: i in /.../includes/pages.inc on line 13
nospor
Notice: Undefined variable: i in /.../includes/pages.inc on line 13
$addClass = ($obecna == $i) ? ' obecna' : '';
Jeszcze nie kojarzysz faktów? Uzywasz do sprawdzenia czy obecna czy nie ale zmienna $i jest tworzona dopiero później w pętli.... te OBECNA masz robić właśnie w pętli tam gdzie ta $i jest ustawiana
wookieb
Forum nie parser. Zamykam.
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.