Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Poprawne wytworzenie kolejnych page
Forum PHP.pl > Forum > PHP
Warmix
Najpierw przedstawię swój kod PHP. W razie, gdyby coś było nie jasne, to proszę o info, bo to tylko cześć kodu, więc niektóre dane mogą być podane poza obrębem podanego kodu.

  1. $sql = "SELECT player_id FROM player_skills WHERE skillid = $nr";
  2. $wynik = mysql_query($sql);
  3. $num = mysql_num_rows($wynik);
  4.  
  5. $pages = ceil($num/10);
  6. $act_page = isset($_GET['page']) ? $_GET['page'] : 1;
  7.  
  8. if($act_page <= $pages && $act_page >= 0){
  9.  
  10. <p style='font-weight:bold; font-size:20px; text-align:center;'>".$page_name."</p>
  11. <p style='margin-top:-10px; text-align:center;'>
  12. ( ";
  13. for($s=1;$s<=$pages;$s++){
  14. if($act_page == $s){
  15. echo '<b>'.$s.'</b> ';
  16. } else {
  17. echo '<a href="index.php?body=ranks&'.$set.'&page='.$s.'">'.$s.'</a> ';
  18. }
  19. }
  20. echo ')
  21. </p>
  22. <table rules="all" width="250px">
  23. <tr>
  24. <td style="text-align:center; font-weight:bold;">#</td><td style="text-align:center; font-weight:bold;">Nick</td><td style="text-align:center; font-weight:bold;">Level</td>
  25. </tr>';
  26.  
  27.  
  28. $sql = "SELECT player_id, value FROM player_skills WHERE skillid = $nr ORDER BY value DESC";
  29. $wynik = mysql_query($sql);
  30.  
  31.  
  32. $i = 1;
  33. while($wyn = mysql_fetch_assoc($wynik)){
  34. $id = $wyn['player_id'];
  35. $skill = $wyn['value'];
  36.  
  37. $sql2 = "SELECT name FROM players WHERE id = $id";
  38. $wynik2 = mysql_query($sql2);
  39. $wyn2 = mysql_fetch_assoc($wynik2);
  40. $nick = $wyn2['name'];
  41.  
  42.  
  43. $d = $i+(($act_page-1)*30);
  44.  
  45. $color = ($i % 2) ? '#9f9f6b' : '#E3C99B';
  46. <tr>
  47. <td style="color:black;background-color:'.$color.';">'.$d.'.</td><td style="color:black;background-color:'.$color.';"><a style="color:#556B2F;" href="index.php?body=search&char='.$nick.'">'.$nick.'</a></td><td style="color:black;background-color:'.$color.';">'.$skill.'</td>
  48. </tr>
  49. ';
  50. $i++;
  51. }
  52.  
  53. echo '</table>';
  54. }


Problem:
Złe generowanie Nicków oraz Leveli na kolejnych page (2, 3, 4....)

Opis:
Mam sobie stronę z pewnymi danymi. Mając kilkanaście tysięcy rekordów w bazie, nie mogłem wszystkich wyświetlić na jednej stronie. Więc dodałem '&page=...'.
Jeżeli chodzi o pozycję, to działa ona poprawnie... Czyli ID, oznaczone jako "#". Cyfry normalnie przechodzą mi na drugą page, czyli na jednej mam od 1-10, na drugiej 11-20 itd.
Problem pojawią się przy nickach i levelach. A mianowicie Nicki i Levele powtarzają mi się na każdej page... Czyli mam 1 stronę, to mam pozycję 1-Warmix-5. Gdy przejdę do drugiej strony id normalnie się zmieni, ale nick i level już nie. Wynik: 11-Warmix-5.
Już głowię się troszeczkę nad tym i nie mam zielonego pojęcia jak to zrobić, tak więc proszę o pomoc, albo chociaż wskazówki, bo sam nic już nie wymyślę...
nospor
To co chcesz zrobić nazywa sie STRONICOWANIE. Poszukaj w necie i na forum bo masa tego jest, a to co ty tutaj pokazałeś ze stronicowaniem ma niewiele wspólnego.
Warmix
Ok, dzięki. Teraz już sobie poradzę...
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.