Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Stronicowanie, i pobieranie tabeli z bazy sql
Forum PHP.pl > Forum > Przedszkole
Ciupaska
Witam, nie znam się na php i sql dla tego postanowiłem spytać ludzi którzy się tym zajmują.

Mianowicie, skrypt który posiadam pobiera całą blisko 2MB bazę danych zupełnie nie potrzebnie.
Tabela odpowiedzialna za to tabela z filmami dodanymi na stronę, która posiada strony od 1 do samego końca przykładowo do 140 strony.

Jak zrobić aby nie pobierało tylu danych, i kończyło się na Np. 10 stronie?

Kod który pobiera tabelę to

  1. <?php
  2. $zapytanie = "SELECT * FROM movie WHERE active='1' ORDER by id DESC";
  3. ?>


Kod odpowiedzialny za stronicowanie:


  1. <?
  2. menuf();
  3. ?>
  4. <center>
  5. <table align="center">
  6. <tr>
  7. <td>
  8. <?
  9.  
  10.  
  11. if($strona>1)
  12.  
  13. echo "<a href=$link".($strona-1).".html><img src=\"images/left.gif\" border=\"0\" ></a>"; else echo "<img src=\"images/left.gif\" border=\"0\" >";
  14.  
  15.  
  16.               echo '</td><td>';
  17.  
  18.               if($podstron<=10)
  19.                 {
  20.                 for ($s=1; $s<=$podstron; $s++){
  21.                 if ($s==$strona) echo "$s";
  22.                 else echo "<a href=".$link."".$s.".html> $s </a>";}
  23.                 }  
  24.                //jeżeli podstron więcej niż 10
  25.              elseif($podstron>10)
  26.                 {
  27.                 if($strona>=6 && $strona<=$podstron-5){
  28.                 $wr=$strona-4;
  29.                 $wz=$strona+5;
  30.                 for ($s=$wr; $s<=$wz; $s++){
  31.                   if ($s==$strona) echo "$s";
  32.                   else echo "<a href=".$link."".$s.".html> $s </a>";
  33.                   }
  34.                   }
  35.                  else if($strona>=$podstron-5){
  36.                  for ($s=$podstron-9; $s<=$podstron; $s++){
  37.                   if ($s==$strona) echo "$s";
  38.                   else echo "<a href=".$link."".$s.".html> $s </a>";
  39.                   }              
  40.                   }
  41.                 else{
  42.                 for ($s=1; $s<=10; $s++){
  43.                 if ($s==$strona) echo "$s";
  44.                 else echo "<a href=".$link."".$s.".html> $s </a>";}
  45.                 }
  46.                 }              echo '</td><td width="" align="center">';  
  47.  
  48. if($strona<$podstron) echo"<a href=$link".($strona+1).".html><img src=\"images/right.gif\" border=\"0\" ></a>"; else echo"<img src=\"images/right.gif\" border=\"0\" >";
  49.  
  50.  
  51.  
  52.  
  53. ?>
  54.  
  55. </td>
  56. </tr>
  57. </table>
  58. </center>
  59. <?
  60. menufe();
  61. ?>


Czy jet ktoś w stanie pomóc?
user123
może chodzi o funkcję LIMIT w tym przypadku to będzie LIMIT 0,10
Ciupaska
Cały problem jak to doklejam do:

  1. <?php
  2. $zapytanie = "SELECT * FROM movie WHERE active='1' ORDER by id DESC LIMIT 0,10";
  3. ?>


Wywala napis w tym miejscu stronicowania. (Nie dziala zapytanie końcowe)

Na końcu kodu jest jeszcze
  1. <?php
  2. $zapytanie.= " LIMIT $start,$ile";
  3. ?>

Morze tu tu dokleić? W jaki sposób...?



Edit, jeszcze podam główny fragment kodu index.php

  1. <?php
  2. $link="index,";
  3.  
  4. $zapytanie = "SELECT * FROM movie WHERE active='1' ORDER by id DESC";
  5.  
  6. if(!$strona){
  7. $nr=$_GET["strona"];
  8. if($nr==0)
  9. {
  10. $nr=1;
  11. }
  12.  
  13. $strona=$nr;
  14. }
  15.  
  16.  
  17. $ile=$u_ile_w;
  18.  
  19. $start=($strona-1)*$ile;    
  20.  
  21. $wykonaj = mysql_query($zapytanie) or Die("Nie dzia�a zapytanie". $zapytanie);
  22. $ile_rek = mysql_num_rows($wykonaj);
  23.  
  24. $podstron = ceil($ile_rek/$ile);
  25.  
  26. $zapytanie.= " LIMIT $start,$ile";    
  27.  
  28. $final = mysql_query($zapytanie) or Die ("Nie dzia�a zapytanie ko�cowe");
  29. $i=0;
  30.  
  31. if($ile_rek>$ile)
  32. {
  33. include("podzial.php");
  34. }
  35. ?>
nospor
Jak to se ludzie zycie utrudniają....
Ty zamiast tekstu: "Nie dziala zapytanie końcowe" wywal se komunikat bledu: mysql_error() i bedziesz wiedzial co masz źle
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.