senator_x
شنبه 29 تیر 1392, 17:31 عصر
با سلام
من یه اسکریپ از بیرون این سایت برای صفحه بندی کالاهای یه فروشگاه (پروژه ساده) پیدا کردم
تو حالت عادی خب کار می کنه مشکلی نیست به شکل زیر نشون میده برای برترین کالا ها تو صفحه اول
مثلا:
localhost/myshop/?Page=8
خب حالا یه صفحه دارم که میاد کالاهای یک گروه بندی خاص کالا رو به شکل خیلی ساده نمایش میده:(موضوعات)
به این شکل
localhost/myshop/blog.php?Products=samsung
مشکل اینجاست این صفحه که آدرسش به شکل بالاست چطور صفحه بندی کنم؟!
localhost/myshop/blog.php?Products=samsung این شیوه استاندارد نیست یا صفحه بندی اشکال داره؟
ممنون میشم راهنماییم کنید
milad_d993
شنبه 29 تیر 1392, 20:56 عصر
اول باید شرط وجود پارامتر category (cat)رو بررسی کنی
بعد تو این شرط بیای وجود یا عدم وجود مقدار page (p)
<?php
require_once("C:\wamp\www\bookStore\DBconfig.php"); // اطلاعات مربوط به نام پیگاه داده، نام کاربری و پسورد
function redirect ($page){
$s = "<script language='javascript'>
window.location.href='$page'
</script>";
return $s;
}
$numberOfBookInPage = 10; // تعداد رکورد در هر صفحه
$pageLinks = "";
if (isset($_GET["cat"]) and is_numeric($_GET["cat"])){
$catId = $_GET["cat"];
$catResult = mysql_query("select count(*) from book where category = '$catId' or category LIKE '$catId,%' or category LIKE '%,$catId,%' or category LIKE '%,$catId'",$serverLink);
$catNum = mysql_fetch_array($catResult);
}
if (isset($catNum) and $catNum[0] > 0){
$cc = 1;
$bookR = mysql_query("select count(*) from book where category = '$catId' or category LIKE '$catId,%' or category LIKE '%,$catId,%' or category LIKE '%,$catId'",$serverLink);
$bookNum = mysql_fetch_array($bookR);
$numberOfPage = (int)($bookNum[0] / $numberOfBookInPage[1]);
if (($bookNum[0] % $numberOfBookInPage[1]) != 0) $numberOfPage++;
$allPages = array();
for ($i=0;$i < $numberOfPage;$i++){
$allPages[$i] = $i+1;
}
if (isset($_GET["p"]) && is_numeric($_GET["p"]) && array_search($_GET["p"],$allPages)){
$page = $_GET["p"];
for ($i=1;$i <= $numberOfPage;$i++){
if ($i == $page){
$pageLinks .= "$i ";
}else{
$pageLinks .= "<a href ='index.php?cat=$catId&p=$i'>$i</a> ";
}
}
$start = ($page-1) * $numberOfBookInPage[1];
$bookResult = mysql_query("select * from book where category = '$catId' or category LIKE '$catId,%' or category LIKE '%,$catId,%' or category LIKE '%,$catId' LIMIT $start,$numberOfBookInPage[1]",$serverLink);
}else{
for ($i=1;$i <= $numberOfPage;$i++){
if ($i == 1){
$pageLinks .= "$i ";
}else{
$pageLinks .= "<a href ='index.php?cat=$catId&p=$i'>$i</a> ";
}
}
$bookResult = mysql_query("select * from book where category = '$catId' or category LIKE '$catId,%' or category LIKE '%,$catId,%' or category LIKE '%,$catId' LIMIT 0,$numberOfBookInPage[1]",$serverLink);
}
}else{
$bookR = mysql_query("select count(*) from book",$serverLink);
$bookNum = mysql_fetch_array($bookR);
$numberOfPage = (int)($bookNum[0] / $numberOfBookInPage[1]);
if (($bookNum[0] % $numberOfBookInPage[1]) != 0) $numberOfPage++;
$allPages = array();
for ($i=0;$i < $numberOfPage;$i++){
$allPages[$i] = $i+1;
}
if (isset($_GET["p"]) && is_numeric($_GET["p"]) && array_search($_GET["p"],$allPages)){
$page = $_GET["p"];
for ($i=1;$i <= $numberOfPage;$i++){
if ($i == $page){
$pageLinks .= "$i ";
}else{
$pageLinks .= "<a href ='index.php?p=$i'>$i</a> ";
}
}
$start = ($page-1) * $numberOfBookInPage[1];
$bookResult = mysql_query("select * from book LIMIT $start,$numberOfBookInPage[1]",$serverLink);
}else{
for ($i=1;$i <= $numberOfPage;$i++){
if ($i == 1){
$pageLinks .= "$i ";
}else{
$pageLinks .= "<a href ='index.php?p=$i'>$i</a> ";
}
}
$bookResult = mysql_query("select * from book LIMIT 0,$numberOfBookInPage[1]",$serverLink);
}
}
?>
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.