Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Ograniczenie stron
Forum PHP.pl > Forum > Przedszkole
gabcio
Witam

Pytanie może ktoś mi co nie co powiedziec jak zrobic limit na stronie w sensie, mam 200 rekordów i chcę, aby one pojawiały się po 20 rekordów i robiło [1] [2] strony itd

Pozdro dla nospor ;D

Wiedziałem, że coś będzie nie tak tongue.gif

Dzięki za info
nospor
szukaj na forum pod haslem stronicowanie

Cytat
Pozdro dla nospor
Masz na mysli moja klase? No to co sie jeszcze tu pytasz? tongue.gif

ps: znacznika w tytule nie trzeba zamykac. Popraw, bo smiesznie to wyglada smile.gif
gabcio
  1. <?php
  2. switch ($widok) {
  3. case 'Wszystkie':
  4. $lp=0;
  5. $ww = $Sql->Query("select count(id) as ile from umowy");
  6. list($ilestron)=mysql_fetch_row($ww);
  7. $skok=25; 
  8. if(!$_GET['current'])$_GET['current']=1; 
  9. $stronadoprzejscia='spisumow.php?'.$widok.'='.$_GET[k].''; 
  10. $max=3;
  11. $temp=$_GET['current']/$skok;
  12. $temp++; 
  13. $stron=$ilestron/$skok; 
  14. $all=(int)($stron); 
  15. if($all!=$stron)$all++; 
  16. if(!$_GET['current']||($_GET['current']<=0))$_GET['current']=1;
  17. if($_GET['current']>$all)$_GET['current']=1;
  18. $od=$_GET['current']-$max;
  19. if($od<=0){$od=1;$do=2*$max+1;} 
  20. if(!$do)$do=$_GET['current']+$max;
  21. if($do>$all){$do=$all;$od=$do-2*$max;if($od<=0)$od=1;} 
  22. $kropki=$od-$max-1;
  23. if($kropki<=0)$kropki=1;
  24. if($od!=1)$stronicowanie.='<a href="'.$stronadoprzejscia.'&current=1">1</a> <a href="'.$stronadoprzejscia.'&current='.  $kropki.'">...</a> ';
  25. for($i=$od;$i<=$do;$i++){ 
  26. if($_GET['current']==$i)$stronicowanie.=' '.$i.' ';
  27. else $stronicowanie.=' <a href="'.$stronadoprzejscia.'&current='.$i.'">['.$i.']</a> ';
  28. }
  29. $kropki=$do+$max+1;
  30. if($kropki>$all)$kropki=$all;
  31. if($do!=$all)$stronicowanie.=' <a href="'.$stronadoprzejscia.'&current='.$kropki.'">...</A> <a href="'.$stronadoprzejscia.'&current='.$all.'">['.$all.']</a>';
  32. if($stronicowanie==' 1 ')$stronicowanie='';
  33. if($ilestron)echo($stronicowanie.'<BR><BR>');
  34.  
  35. $w = $Sql->Query("SELECT * FROM umowy order by data desc, godzina desc LIMIT ".($_GET['current']-1)*$skok.", $skok");
  36. ?>


Fajnie robi tylko jak klikam na strone kolejną [2] itd to nie pokazuje tylko czysty blank
Ma ktoś pomysł czemu tak jest?
yaotzin
  1. <?php
  2. $ilepostow = 5;
  3. $polaczenie = mysql_connect('localhost','root','krasnal')
  4. or die('Brak połączenia z bazą danych '.mysql_error());
  5. $db = mysql_select_db('komentarze',$polaczenie)
  6. or die('<strong> Nie mogę połączyć się z bazą danych '.mysql_error().'</strong>');
  7.  
  8. $odp = mysql_query("SELECT count(*) as ilosc FROM tab_komentarzy");
  9. $odpowiedz = mysql_fetch_array($odp, MYSQL_ASSOC);
  10.  
  11. printf("Komentarze (%s):<br> ", $odpowiedz['ilosc']);
  12. $ilosc = $odpowiedz['ilosc'];
  13.  
  14. $wynik = $ilosc/$ilepostow;
  15. $wynik = ceil($wynik);
  16.  
  17. $odp = mysql_query("SELECT * FROM tab_komentarzy GROUP BY DATA DESC LIMIT ".(($str-1)*$ilepostow).",".$ilepostow);
  18.  
  19. while($odpowiedz = mysql_fetch_array($odp, MYSQL_ASSOC)){
  20. printf("<div class="koment">%s</div>
  21. <div class="autor">%s</div> <div class="data">%s</div>",
  22. nl2br(htmlspecialchars($odpowiedz['Komentarz'])),
  23. htmlspecialchars($odpowiedz['Autor']),
  24. htmlspecialchars($odpowiedz['Data']));
  25. }
  26. echo('<div class="numer">');
  27. for($i=1; $i<=$wynik; $i++)
  28. echo ('<a href="index.php?str='.$i.'">'.$i.'</a> ');
  29. mysql_close($polaczenie);
  30. echo('</div>');
  31. ?>



Powyższy kod powoduje limit ilości komentarzy wyświetlanych na stronę... Po przyjrzeniu się widać iż za ilość elementów na stronę odpowiada zmienna ile postow, kod jest czescia wiekszego skryptu stąd niektórw funkcje moga nie działać lub coś, ale poza tym skrypt działa. Pisałem go jakiś czas temu PZDR....
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.