 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| 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 |
|
| |
|