Afisare cu paginare

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
cadou
Mesaje:328

Afisare cu paginare

Am acest cod, functioneaza perfect, dar doresc sa am paginare, mai exact 10 inregistrari pe pagina, cum fac acest lucru ?
aici e codu folosit pentru afisare

Cod: Selectaţi tot

<?php
session_start();
require_once('conectare.php');

$cerereSQL = 'SELECT * FROM `statusuri`';
$rezultat = mysql_query($cerereSQL);
while($rand = mysql_fetch_array($rezultat))
{
echo '
<table border=0 width=100%><tr><td bgcolor=silver>
Adaugat de <b>'.$rand['nume'].'</b> in <b>Statusuri '.$rand['categorie'].'</b> la
<b>'.$rand['data'].'</b>
<br>'.$rand['status'].'
<br>
<center><a href="ymsgr:customstatus?">Puneti acest status</a>
<a href="ymsgr:im?msg='.$rand['status'].' " style="color:#000000;" title="Trimite Statusuri pe Messenger">Trimite pe Messenger</a>



</center></td></tr></table>';
}

?>


MarPlo Mesaje:4343
Pentru paginare trebuie un cod ceva mai complex.
Vezi script-urile acestea (au comentarii cu explicatie in cod, pt cine vrea sa invete cum se face un script de paginare):
- Clasa PHP pentru Paginare .
- Script paginare .

Sau cauta si pe forum despre paginare, subiectul mai e postat.

cadou Mesaje:328
Merge perfect , l-am folosit pe acesta, Link: https://marplo.net/php-mysql/paginare
dar am vrut sa fac o mica modificare si nu am reusit, poate ma ajuta careva.
Am vrut sa fac adresa de genul: site.ro/statusuri/pagina2
La mine apare acum asa: site.ro/statusuri.php?currentpage=2
Am incercat sa modific aici dar degeaba :

Cod: Selectaţi tot

<a href='{$_SERVER['PHP_SELF']}/pagina1'><<</a>
Dar degeaba nu functioneaza, daca stiti voi unde sa modific raman dator.

MarPlo Mesaje:4343
Ca sa ai o adresa URL rescrisa, pe langa modificarea link-ului in tag-ul <a> trebuie si cod de rescriere in fisier .htaccess (serverul trebuie sa permita Mod-rewrite).
Cam asa ar fi codul in ".htaccess".

Cod: Selectaţi tot

Options +FollowSymLinks
RewriteEngine On

# Incepe comanda pt. mod-rewrite

RewriteRule ^statusuri/pagina([0-9]+)$ statusuri.php?currentpage=$1 [NC,L] 
Mai multe despre asta vezi in tutorialul Mod-Rewrite .

cadou Mesaje:328
Deci .htaccess asa arata la mine;

Cod: Selectaţi tot

Options +FollowSymLinks
RewriteEngine On

#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z_]+).html$ index.php?id=$1 [NC,L]
RewriteRule ^([a-zA-Z_]+)-([a-zA-Z_]+).html$ index.php?id=$1&sm=$2 [NC,L] 

ErrorDocument 400  /400.html
ErrorDocument 401  /401.html
ErrorDocument 403  /403.html
ErrorDocument 404  /404.html
ErrorDocument 500  /500.html
DirectoryIndex index.php index.html wellcome.html

RewriteRule ^statusuri/pagina([0-9]+)$ statusuri.php/?currentpage=$1 [NC,L] 
Iar in document am modificat in cele 3 locuri din

Cod: Selectaţi tot

<a href='{$_SERVER['PHP_SELF']}?currentpage=1'> 
In:

Cod: Selectaţi tot

<a href='{$_SERVER['PHP_SELF']}/currentpage=1'> 
Si nu imi merge

MarPlo Mesaje:4343
Daca in .htaccess ai:
statusuri/pagina([0-9]+)
La link ar trebui "pagina1". De ce ai pus "currentpage=1"?
Verifica codul HTML a paginii in browser ca adresa "href" de la link-urile de paginare sa se potriveasca cu expresia din .htaccess.

cadou Mesaje:328
Deci am schimbat din

Cod: Selectaţi tot

<a href='{$_SERVER['PHP_SELF']}/currentpage=1'>
Cu

Cod: Selectaţi tot

<a href='http://www.site.ro/statusuri/pagina1'>
si nu imi merge error 404.html
iar daca las asa

Cod: Selectaţi tot

<a href='{$_SERVER['PHP_SELF']}/pagina1'> 
imi apare in bara de adresa
site.ro/statusuri.php/pagina2
Dar nu imi afiseaza pagina 2 , deci tot prima pagina afiseaza
iar daca mai dau un click iar pe pagina 2 imi apare adresa asa
site.ro/statusuri.php/pagina2/pagina2
Si daca tot apas pe pagina a 2 a apare in adresa inca /pagina2 dar nu imi afiseaza pagina respectiva.

Subiecte similare