PDA

Arată versiune īntreagă : [ofer] Paginare php+jquery+ajax



micku7zu
16.01.2010, 23:09
Am vazut ca multi useri au avut problema cu paginarea asa ca am zis sa fac o paginare frumoasa care nu necesita reincarcarea paginii...

Demo: http://zutv.info/paginare/

Download link cwr: http://www.cwr.ro/forum/downloads.php?do=file&id=2250

Fisiere ce trebuie configurate:

Paginare.php


<?php
/* daca paginarea este inclusa intr-o pagina
fara conectare este nevoie si de aceasta conectare
*/
$conexiune = mysql_connect('localhost','root','') or die("Nu ma pot conecta la MySQL!");
mysql_select_db('paginare', $conexiune) or die("Nu gasesc baza de date");
....

/* modificari */
$nr=5; // cate rezultate pe pagina
/* modificari */

....


/*modifica query */
// aici modificati tabelul din care vreti sa selectati
$s=mysql_query("SELECT * FROM `paginare` ORDER by `id` DESC limit $inceput,$nr");
$t=mysql_num_rows(mysql_query("SELECT * FROM `paginare`"));
$pg=ceil($t/$nr);
/* modifica query */

....

//cum vreti sa arate rezultatul..
// eu am folosit un tabel in care am inscris fiecare rand..
echo '<table border="1"><tr><th>#</th><th>ID</th><th>Nume</th><th>Prenume</th><th>Email</th></tr>';
while($r = mysql_fetch_array($s))
{
/* modifica extragerile si rezultatul */
$nume=$r['nume'];
$id=$r['id'];
$prenume=$r['prenume'];
$email=$r['email'];
$c=$i%2;
echo '<tr><td>'.$i.'</td><td>'.$id.'</td><td>'.$nume.'</td><td>'.$prenume.'</td><td>'.$email.'</td></tr>';
/* modifica extragerile si rezultatul */
$i=$i+1;
}
echo '</table>';

...
$distanta=3;
//reprezinta distanta de la pagina curenta pe care sunteti si pana la cea care o va arata
//de exemplu daca sunteti pe pagina 6 si aveti distanta setata 3
// va arata 3 4 5 6 7 8 9
...


Alte modificari de design le puteti face in CSS si in fisierul .js


Update: Are si sortare dupa titlu, care momentan nu este in demo.

tolby
16.01.2010, 23:16
E interesant scriptul,insa ma deranjeaza fade-ul cand dai pagina
Gasisem si eu unul tot cu ajax,insa nu avea optiuni de sortare.
Ne poti da un astfel de script sau macar unde putem sa gasim.

micku7zu
16.01.2010, 23:19
FadeIn si FadeOut se pot scoate foarte usor prin stergerea a doua linii si setarea a doua variabile 0



//stergem aceste 2 linii
$("#paginare").fadeOut(timpAscunde)
$("#paginare").fadeIn(timpArata);


//setam variabilele 0
var timpArata=0;
var timpAscunde=0;


Am folosit fade pentru a masca schimbarea brusca de text si pentru ca la paginarile mai mari, cu mai multe date, sa mascheze timpul de raspuns.