WithoutBrain1994

مشکل در Pagination

5 پست در این موضوع قرار دارد

سلام

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

هر کاری میکنم دکمه های 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;
?>

با تشکر

0

به اشتراک گذاری این پست


لینک به پست

UP

0

به اشتراک گذاری این پست


لینک به پست

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

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

به اشتراک گذاری این پست


لینک به پست

ممنون

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

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

مشکلم حل شد

درستش کردم

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

فایل 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;
}

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری