PDA

View Full Version : صفحه بندی به این صورت



saeed-71
جمعه 13 تیر 1393, 19:08 عصر
سلام.
چجوری میشه اینجوری صفحه بندی کرد؟
این کد واکشی اطلاعات من از دیتابیس هستش.
میخوام تو هر صفحه 10 سطر رو بخونه و باقی برن صفحات بعد.
اینجوری باشه
120782



$flag = '1';
$payment = '1';
$edit = '0';
$sql = $connect->prepare("SELECT * FROM `carinfo` WHERE(`flag`=:flag AND `edit`=:edit AND `payment`=:payment) ORDER BY `id` DESC");
$sql->execute(array(
":flag"=>$flag,
":payment"=>$payment,
":edit"=>$edit
));
foreach($sql as $rows){
ادامه که چاپ اطلاعات هستش

vahidqara
جمعه 13 تیر 1393, 19:42 عصر
سلام و درود..
به این صفحه بندی pagination میگن تو لینک زیر آموزشش هست :لبخندساده:

http://code.tutsplus.com/tutorials/how-to-paginate-data-with-php--net-2928

saeed-71
جمعه 13 تیر 1393, 20:01 عصر
خیلی کاملو جامع هستش ولی من زیاد ازش نفهمیدم.چجوری باید ازش استفاده کرد؟!

marys_farahani
جمعه 13 تیر 1393, 21:32 عصر
اینم دیتابیس من برای اینکه خروجی کار ببینی تا بتونی مطابق نیازت تغییرش بدی


CREATE TABLE IF NOT EXISTS `page_content` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`titr` text NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=48 ;

کد اتصال به دیتابیس اسم فایل connection.php



<?php
$host="localhost";
$uname="root";
$pass="";
$database = "marys";
$connection=mysql_connect($host,$uname,$pass)
or die("Database Connection Failed");

$result=mysql_select_db($database)
or die("database cannot be selected");
mysql_query("SET NAMES UTF8",$connection)or die(mysql_error());
?>




کلاس paging اسم فایل paging.php



<?php
include("connection.php");

$sql = mysql_query("select * from `page_content`");
$total = mysql_num_rows($sql);


$adjacents = 3;
$targetpage = "index.php"; //your file name
$limit = 3; //how many items to show per page
if(isset($_GET['page']))
{
$page = $_GET['page'];
}else{
$page = 0;
}


if($page){
$start = ($page - 1) * $limit; //first item to display on this page
}else{
$start = 0;
}

/* Setup page vars for display. */
if ($page == 0) $page = 1; //if no page var is given, default to 1.
$prev = $page - 1; //previous page is current page - 1
$next = $page + 1; //next page is current page + 1
$lastpage = ceil($total/$limit); //lastpage.
$lpm1 = $lastpage - 1; //last page minus 1

$sql2 = "select * from `page_content` where 1=1";
$sql2 .= " order by id desc limit $start ,$limit ";
$sql_query = mysql_query($sql2);
$curnm = mysql_num_rows($sql_query);

/* CREATE THE PAGINATION */

$counter = "";
$pagination = "";
if($lastpage > 1)
{
$pagination .= "<div class='pagination1'> <ul>";
if ($page > $counter+1) {
$pagination.= "<li><a href=\"$targetpage?page=$prev\">prev</a></li>";
}

if ($lastpage < 7 + ($adjacents * 2))
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<li><a href='#' class='active'>$counter</a></li>";
else
$pagination.= "<li><a href=\"$targetpage?page=$counter\">$counter</a></li>";
}
}
elseif($lastpage > 5 + ($adjacents * 2)) //enough pages to hide some
{
//close to beginning; only hide later pages
if($page < 1 + ($adjacents * 2))
{
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= "<li><a href='#' class='active'>$counter</a></li>";
else
$pagination.= "<li><a href=\"$targetpage?page=$counter\">$counter</a></li>";
}
$pagination.= "<li>...</li>";
$pagination.= "<li><a href=\"$targetpage?page=$lpm1\">$lpm1</a></li>";
$pagination.= "<li><a href=\"$targetpage?page=$lastpage\">$lastpage</a></li>";
}
//in middle; hide some front and some back
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= "<li><a href=\"$targetpage?page=1\">1</a></li>";
$pagination.= "<li><a href=\"$targetpage?page=2\">2</a></li>";
$pagination.= "<li>...</li>";
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= "<li><a href='#' class='active'>$counter</a></li>";
else
$pagination.= "<li><a href=\"$targetpage?page=$counter\">$counter</a></li>";
}
$pagination.= "<li>...</li>";
$pagination.= "<li><a href=\"$targetpage?page=$lpm1\">$lpm1</a></li>";
$pagination.= "<li><a href=\"$targetpage?page=$lastpage\">$lastpage</a></li>";
}
//close to end; only hide early pages
else
{
$pagination.= "<li><a href=\"$targetpage?page=1\">1</a></li>";
$pagination.= "<li><a href=\"$targetpage?page=2\">2</a></li>";
$pagination.= "<li>...</li>";
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage;
$counter++)
{
if ($counter == $page)
$pagination.= "<li><a href='#' class='active'>$counter</a></li>";
else
$pagination.= "<li><a href=\"$targetpage?page=$counter\">$counter</a></li>";
}
}
}

//next button
if ($page < $counter - 1)
$pagination.= "<li><a href=\"$targetpage?page=$next\">next</a></li>";
else
$pagination.= "";
$pagination.= "</ul></div>\n";
}
?>



فایل سی اس اس paging با اسم css.css



.pagination1 {
margin:0;
padding:0;
float:left;
}
.pagination1 ul {
width:300px;
float: right;
list-style: none;
margin:0 0 0 ;
padding:0;
}
.pagination1 li span { line-height:45px; font-weight:bold;}
.pagination1 li {
margin:0 0 0 0;
float:left;
font-size:16px;
text-transform:uppercase;
}
.pagination1 li a {
color:#7f8588;
padding:10px 0 0 0; width:33px; height:33px;
text-decoration:none; text-align:center;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
display:block;
}
.pagination1 li:last-child a:hover { background:none; color:#7f8588;}
.pagination1 li:first-child a:hover { background:none;color:#7f8588;}
.pagination1 li a:hover {
color:#fff;
text-decoration: none;
display: block;
padding:10px 0 0 0; width:33px; height:33px;
}
.pagination1 li.activepage a {
color:#fff;
text-decoration: none;
padding: 10px 0 0 0; }



صفحه که قرار مطالب داخل اون صفحه صفحه بندی بشن به اسم index.php



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>صفحه بندی با php</title>
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>
<?php
include("paging.php");

$sql = mysql_query("select * from `page_content`");

echo '<table border="1">
<tr>
<td>عنوان</td>
<td>متن</td>
</tr>';
while($row = mysql_fetch_array($sql))
{
echo '
<tr>
<td>'.$row['titr'].'</td>
<td>'.$row['titr'].'</td>
</tr>
';
}
echo '</table>';

if(!empty($pagination))
{
echo $pagination;
}
?>
</body>
</html>








خروجی کار

http://up.p30parsi.com/out.php/i202207_untitled.bmp (http://up.p30parsi.com)

لینک دانلود : paging.zip - 3 KB (http://uplod.ir/laz20kdd2zuk/paging.zip.htm)

***BiDaK***
یک شنبه 15 تیر 1393, 18:37 عصر
کلاس پیجینگ (http://barnamenevis.org/showthread.php?452944-%DA%A9%D9%84%D8%A7%D8%B3-%D8%B5%D9%81%D8%AD%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%D8%B3%D8%A7%DB%8C%D8%AA)