Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [PHP]Stronicowanie
marcin0077
post 4.04.2011, 16:25:09
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 18.10.2008

Ostrzeżenie: (10%)
X----


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ś?
Go to the top of the page
+Quote Post
Fifi209
post 4.04.2011, 17:36:18
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
marcin0077
post 4.04.2011, 18:04:54
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 18.10.2008

Ostrzeżenie: (10%)
X----


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.

Ten post edytował marcin0077 4.04.2011, 18:05:36
Go to the top of the page
+Quote Post
nospor
post 4.04.2011, 18:18:23
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
marcin0077
post 4.04.2011, 18:44:09
Post #5





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 18.10.2008

Ostrzeżenie: (10%)
X----


Parse error: syntax error, unexpected ';', expecting ')' in /.../includes/pages.inc on line 21

Notice: Undefined variable: i in /.../includes/pages.inc on line 13

Ten post edytował marcin0077 4.04.2011, 18:44:34
Go to the top of the page
+Quote Post
nospor
post 4.04.2011, 18:56:37
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wookieb
post 5.04.2011, 09:08:41
Post #7





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Forum nie parser. Zamykam.


--------------------
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 30.07.2025 - 11:41