Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Cum fac o PAGINARE?
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Subiectul anterior :: Subiectul următor  
Autor Mesaj
elbifo



Data înscrierii: 30/Iun/2003
Mesaje: 9

Trimis: Sâm Iul 12, 2003 11:23 pm    Titlul subiectului: Cum fac o PAGINARE?  

Salut,

Cum fac si eu ca pe o pagina sa imi apara de exemplu 10 inregistrari, si mai jos sa am optiunea sa dau next sau prev sa accesez si urmatoarele 10 inregistrari si tot asa. :idea:
Sus  
Lucian



Data înscrierii: 02/Oct/2002
Mesaje: 27
Locație: Bacau

Trimis: Dum Iul 13, 2003 11:03 am    Titlul subiectului: Script paginare  

Cheia care sta la baza paginarii este in sintaxa interogarii pe care o faci bazei de date, folosind limitarea aplicata rezultatelor.
Ca sa intelegi mai bine, studiaza scriptul de mai jos :

<?php

mysql_connect("localhost", "nume_utilizator", "parola") or die(mysql_error());
mysql_select_db("baza_ta_de_date") or die(mysql_error());


$limit = 10; //stabilesti numarul de rezultate afisate pe pagina
$interogare = mysql_query("SELECT * from TABEL");
//TABEL este doar un exemplu, tu vei folosi tabelul ce detine inregistrarile
$totalrows = mysql_num_rows($interogare);

if (empty($page))
{
$page = 1;
}

$limitvalue = $page * $limit - ($limit);

$interogare .= " LIMIT $limitvalue, $limit"; //limitarea inregistrarilor

$query = mysql_query($interogare);
$result = mysql_query($query) or die("Error: " . mysql_error());

while ($row = mysql_fetch_array($result))
{ ?>
//aici vine codul HTML si PHP pentru afisarea inregistrarilor

//partea de mai de jos prelucreaza link-urile pentru pagina precedenta,
//pagina urmatoare si toate celelalte pagini, sub forma :
//[Pagina precedenta] [1] [2] [3] 4 [5] [6] [Pagina urmatoare]

<?php
}

if ($page != 1)
{
$pageprev = $page - 1;
echo "<a href=\"$PHP_SELF?page=$pageprev\">[Pagina precedenta]</a>&";
}

$numofpages = $totalrows / $limit;

for ($i = 1; $i <= $numofpages; $i++)
{
if($i == $page)
{
echo "$i ";
}
else
{
echo("<a href=\"$PHP_SELF?page=$i\">[$i]</a>&");
}
}

if (($totalrows % $limit) != 0)
{
if($i == $page)
{
echo "$i ";
}
else
{
echo "<a href=\"$PHP_SELF?page=$i\">[$i]</a>&";
}
}

if (($totalrows - ($limit * $page)) > 0)
{
$pagenext = $page + 1;
echo "<a href=\"$PHP_SELF?page=$pagenext\">[Pagina urmatoare]</a>";
}
mysql_free_result($result);

Gata scriptul !
Incearca asta pe pagina ta si vei avea o paginare draguta...
Sus  
cataaa



Data înscrierii: 17/Noi/2005
Mesaje: 3

Trimis: Mar Dec 06, 2005 5:14 pm    Titlul subiectului:  

Ce chestie ca n-am voie sa scriu cu CAPS LOCK :P
Am cautat si eu pe forum am gasit dar nu ce-mi tb mie
Adica nu m-am exprimat eu bine
Dar am un formular de cautare in baza de date
si eu vreau sa-mi afiseze rezultatele respetive pe mai multe pagini
tinand cont de val introduse de utilizator
si merci celor care mi-au raspuns
Sus  
kknaru



Data înscrierii: 10/Dec/2003
Mesaje: 435

Trimis: Mar Dec 06, 2005 7:58 pm    Titlul subiectului:  

pai in cazu asta iei $limit din baza de date corespunzator fiecarui utilizator in parte
Sus  
raul_



Data înscrierii: 15/Sep/2005
Mesaje: 711

Trimis: Lun Ian 23, 2006 1:09 pm    Titlul subiectului:  

[STERS]
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community