رفتن به مطلب

مشکل در Pagination


پست های پیشنهاد شده

سلام

لطفا هرکس میدونه مشکل این کدها چیه کمک کنه

هر کاری میکنم دکمه های Next و Prev عمل نمیکنند

فایل index.php


<?php
include('connection.php');
$results = mysql_query("SELECT COUNT(*) As Total FROM test");
$get_total_rows = mysql_fetch_array($results); //total records
//break total records into pages
$pages = ceil($get_total_rows[0] / $item_per_page)+1;
//create pagination
$pagination = '';
$pagination .= '<ul class="paginate">';
$pagination .= '<a href="javascript:ChangePage(\'Prev\')">Prev</a>';
$pagination .= '<a href="javascript:ChangePage(\'Next\')">Next</a>';
$pagination .= '</ul>';
?><!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax Pagination</title>
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var page_n = 1;
var page_number = 1;
$("#results").load("fetch_pages.php", {'page':0}); //initial page number to load
function ChangePage(e) {

$("#results").prepend('<div class="loading-indication"><img src="ajax-loader.gif" /> Loading...</div>');

switch(e){
case "Next":
page_number = page_n+1;
page_n++;
break;
case "Prev":
if(page_n>1)
{
page_number = page_n-1;
page_n--;
}
break;
}

//post page number and load returned data into result element
//notice (page_num-1), subtract 1 to get actual starting point
$("#results").load("fetch_pages.php", {'page':(page_number-1)}, function(){
$("#results").prepend('');
});

return false; //prevent going to herf link
};
});
</script>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="results"></div>
<?php echo $pagination; ?>
</body>
</html>

فایل fetch_pages.php


<?php
include('connection.php');
//sanitize post value
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH);
//validate page number is really numaric
if(!is_numeric($page_number)){die('Invalid page number!');}
//get current starting point of records
$position = ($page_number * $item_per_page);
//Limit our results within a specified range.
$results = mysql_query("SELECT name FROM test ORDER BY id ASC LIMIT $position, $item_per_page") or die(mysql_error());
//output results from database
echo '<ul class="page_result">';
while($row = mysql_fetch_array($results))
{
echo '<li id="item_'.$row["id"].'" dir="rtl"><span class="page_name">'.$row["name"].'</span></li>';
}
echo '</ul>';
?>

فایل connection.php


<?php
mysql_connect("localhost","user","pass") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());
$item_per_page = 10;
?>

با تشکر

لینک به ارسال

از این صفحه برای ایجاد صفحه بندی استفاده کنید :

http://phpro.ir/%D8%B3%D8%A7%D8%AE%D8%AA-pagination-%D8%A8%D8%A7-jquery-%D9%88-php-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-ajax/

لینک به ارسال

ممنون

این کدی که من گذاشتم رو خودم تغییرش دادم

یعنی اول به صورت صفحه بندی بود (1 و 2 و 3 و ...)

ولی من میخوام فقط دکمه های Next و Prev داشته باشه

اگه بتونین روی همین کد راهنماییم کنید یا یه چیزی شبیه اینی که میخوام معرفی کنید خیلی ممنون میشم

لینک به ارسال

مشکلم حل شد

درستش کردم

هر کسی خواست میتونه استفاده کنه

فایل index.php


<?php
include("connection.php");
$results = mysql_query("SELECT COUNT(*) AS TOTAL FROM test");
$get_total_rows = mysql_fetch_array($results); //total records
//break total records into pages
$pages = ceil($get_total_rows[0]/$item_per_page+1);
//create pagination
$pagination = '';
$pagination .= '<ul class="paginate">';
$pagination .= '<li id="Prev"><a href="#" class="Prev"> Prev </a></li> ';
$pagination .= '<li id="Next"><a href="#" class="Next"> Next </a></li>';
$pagination .= '</ul>';
?><!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax Pagination</title>
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#results").load("fetch_pages.php", {'page':0}); //initial page number to load
var page_num = 1;
$(".Next").click(function () {
if (page_num < <?php echo $pages-1 ?>)
{
page_num++;
$("#results").prepend('<div class="loading-indication"><img src="ajax-loader.gif" /> Loading...</div>');
$("#results").load("fetch_pages.php", {'page':(page_num-1)}, function(){
});
return false;
}
else
{
return false;
}
});
$(".Prev").click(function () {
if (page_num > 1)
{
page_num--;
$("#results").prepend('<div class="loading-indication"><img src="ajax-loader.gif" /> Loading...</div>');
$("#results").load("fetch_pages.php", {'page':(page_num-1)}, function(){
});

return false;
}
else
{
return false;
}
});
});
</script>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="results"></div>
<?php echo $pagination; ?>
</body>
</html>

فایل fetch_pages.php


<?php
include('connection.php');
//sanitize post value
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH);
//validate page number is really numaric
if(!is_numeric($page_number)){die('Invalid page number!');}
//get current starting point of records
$position = ($page_number * $item_per_page);
//Limit our results within a specified range.
$results = mysql_query("SELECT name FROM test ORDER BY id ASC LIMIT $position, $item_per_page") or die(mysql_error());
//output results from database
echo '<ul class="page_result">';
while($row = mysql_fetch_array($results))
{
echo '<li id="item_'.$row["id"].'" dir="rtl"><span class="page_name">'.$row["name"].'</span></li>';
}
echo '</ul>';
?>

فایل connection.php


<?php
mysql_connect("localhost","user","pass") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());
$item_per_page = 10;
?>

فایل style.css


#results{
font: 12px Arial, Helvetica, sans-serif;
width: 400px;
margin-left: auto;
margin-right: auto;
}
#results .loading-indication{
background:#FFFFFF;
padding:10px;
position: absolute;
}
.paginate {
padding: 0px;
margin: 0px;
height: 30px;
display: block;
text-align: center;
}
.paginate li {
display: inline-block;
list-style: none;
padding: 0px;
margin-right: 1px;
width: 30px;
text-align: center;
background: #4CC2AF;
line-height: 25px;
}
.paginate li a{
color:#FFFFFF;
text-decoration:none;
}
.page_result{
padding: 0px;
}
.page_result li{
background: #E4E4E4;
margin-bottom: 5px;
padding: 10px;
font-size: 12px;
list-style: none;
}
.page_result .page_name {
font-size: 14px;
font-weight: bold;
margin-right: 5px;
}

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...