Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Stronicowanie listy wyników
Forum PHP.pl > Forum > Przedszkole
XhtmlProject
Witam, poniżej pozwoliłem sobie wkleić kod skryptu odpowiedzialnego za wyświetlanie posortowanych numerami wyników na stronie.
Wygląda to tak:



Poniżej kod:

  1. <?php
  2. $page_title = 'jakis title';
  3. include ('naglowek.html');
  4. require_once ('polaczenie.php');
  5.  
  6. $start = $_GET['start'];
  7. $na_stronie = 40;
  8. $result=mysql_query("SELECT * FROM moviez");
  9. $num=mysql_num_rows($result);
  10. if($num>$na_stronie) {
  11. echo '<center>Strona ';
  12. for($i=0; $i<ceil($num/$na_stronie); $i++)
  13. echo '<a href="givelist.php?start='.($i*$na_stronie).'">'.($i+1).'</a> - ';
  14. }
  15. echo '</center>';
  16.  
  17. function escape_data ($data) {
  18. global $dbc;
  19. if (ini_get('magic_quotes_gpc'))
  20. {
  21. $data = stripslashes($data);
  22. }
  23. return mysql_real_escape_string($data, $dbc);
  24. }
  25.  
  26. $query = "SELECT CONCAT(moviename) AS name, CONCAT(ripedby) AS rip, CONCAT(size) AS siz, CONCAT(cdnr) AS cdn, CONCAT(kodek) AS kdk, user_id FROM moviez ORDER BY moviename ASC LIMIT ".($start).",".$na_stronie."";
  27. $result = @mysql_query ($query);
  28. $num = mysql_num_rows ($result);
  29. if ($num > 0 ) {
  30. echo "<p><b><font color='#000000'>Wyświetlam na stronę: $num filmów</font></b></p>";
  31. echo '<center><table align="center" cellspacing="0" cellpadding="0" class="result" border="-1">
  32. <tr>
  33. <td align="left" bgcolor="" class="result" width="230"><b><font color="#2b4a8f">Tytul:<br /><br /></font></b></td>
  34. <td align="left" bgcolor="" class="result" width="180"><b><font color="#2b4a8f">Ripped:<br /><br /></font></b></td>
  35. <td align="left" bgcolor="" class="result" width="50"><b><font color="#2b4a8f">Size:<br /><br /></font></b></td>
  36. <td align="left" bgcolor="" class="result" width="50"><b><font color="#2b4a8f">CdNR:</font><br /><br /></b></td>
  37. <td align="left" bgcolor="" class="result" width="50"><b><font color="#2b4a8f">Kodek:</font><br /><br /></b></td>
  38. </tr>';
  39.  
  40. while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  41. <tr>
  42. <td align=\"left\"><font color='#4a4e54'><a href=\"givedetail.php?user_id=".$row[5]."\">" . stripslashes($row[0]) ."</a></font></td>
  43. <td align=\"left\"><font color='#4a4e54'>$row[1]</font></td>
  44. <td align=\"left\"><font color='#4a4e54'>$row[2]</font></td>
  45. <td align=\"left\"><font color='#4a4e54'>$row[3]</font></td>
  46. <td align=\"left\"><font color='#4a4e54'>$row[4]</font></td>
  47.  
  48. </tr>\n";
  49. }
  50. echo '</table></center>';
  51.  
  52. } else {
  53. echo '<p>Nie moglem wyswietlic listy.<br />
  54. Sorry.</p><p>' . mysql_error() . '</p>';
  55. }
  56. ?>
  57. <?php
  58. include_once ('stopka.html');
  59. ?>


Kiedy próbuje wejść na stronę givelist.php posługując się adresem http://www.mojastrona.pl/givelist.php - otrzymuje komunikat o błędzie:



Wchodząc na stronę z adresu http://mojastrona.pl/givelist.php?start=0
Wszystko świetnie pracuje.

Poproszę Was o pomoc - gdzie popełniłem błąd ?
smietek
Gdy wchodzisz na stronę givelist.php bez żadnych argumentów, prawdopodobnie powstaje SQL z pustym stringiem zamiast jakiejś wartości numerycznej.
Ustaw w PHP, że jeśli $_GET['start'] jest puste, to nadaje mu jakąś wartość, np. 0 lub 1.
stefik4
  1. if(empty($_GET['start'])){$_GET['start'] = 0;}
XhtmlProject
haha.gif Działa exclamation.gif

Wielkie dzięki za pomoc ..
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.