PDA

View Full Version : سوال: مشکل در کد صفحه بندی سایت



shahinshyd
یک شنبه 21 فروردین 1390, 20:29 عصر
باسلام
من یک کد واسه صفحه بندی توسایت نوشتم که روی localhost کار میکنه ولی تو وب که گذاشتمش
کار نمیکنه لطفا راهنمایی کنید

// how many rows to show per page
$rowsPerPage = 5;

// by default we show first page
$pageNum = 1;

// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;

global $dbhost,$dbname,$dbuser,$dbpass,$tbl_name,$gdate2,
$gdate,$op;

$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname,$link);
mysql_query('SET NAMES utf8');

$query = "SELECT * FROM tbl_post where active=1 and main=1 LIMIT $offset, $rowsPerPage";
$result = mysql_query($query);

// print the random numbers
$a=get_jalali_date2($row["pdate"]);
while($row = mysql_fetch_array($result))
{
$idp=$_GET["id"];

mysql_query('SET NAMES utf8');

$s="select * from tbl_post where active=1 AND main=1 order by pdate desc LIMIT $offset, $rowsPerPage";
$result=mysql_query($s,$link);
if(mysql_affected_rows($link)>0)
{
while($row=mysql_fetch_assoc($result))
{
//khandan mataleb

}
echo '<br>';

// how many rows we have in database
$query = "SELECT COUNT(*) AS numrows FROM tbl_Post";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];

// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);

// print the link to access each page
$self = $_SERVER['PHP_SELF'];
$nav = '';
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nav .= " $page "; // no need to create a link to current page
}
else
{
$nav .=' <a href="http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']).'/page/'.$page.'">'.$page.'</a> ';
}
}

// creating previous and next link
// plus the link to go straight to
// the first and last page

if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = ' <a dir="rtl" href="http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']).'/page/'.$page.'">قبلی</a> ';

$first = ' <a dir="rtl" href="http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']).'/page/1">اولین صفحه</a> ';
}
else
{
$prev = '&nbsp;'; // we're on page one, don't print previous link
$first = ' &nbsp;'; // nor the first page link
}

if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = ' <a dir="rtl" href="http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']).'/page/'.$page.'">بعدی</a> ';

$last = ' <a dir="rtl" href="http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']).'/page/'.$maxPage.'">اخرین صفحه</a> ';
}
else
{
$next = '&nbsp;'; // we're on the last page, don't print next link
$last = '&nbsp;'; // nor the last page link
}

// print the navigation link
echo '
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']).'/s.css" rel="stylesheet" type="text/css" />


</head>

<body>
<div class="postm">
<div class="page" >'. $first.'&nbsp;'.$prev.'&nbsp;&nbsp;'.$nav.'&nbsp;&nbsp;'.$next.'&nbsp;'.$last.'</div></div></body>';

// and close the database connection

}

رضا قربانی
یک شنبه 21 فروردین 1390, 20:38 عصر
لاین 104 رو دقت کن . echo رو تک کدیشن گذاشتی در صورتی که در echo کلی آرایه با تک کدیشن داری

بعد چه اروری می ده ؟

اگه نشد به جای اینا : $_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']) آدرس دقیق رو بده بده ببین درست می شه و بعدشم این نوع آدرس دهی از امنیت پایینی برخوردار هستن

shahinshyd
یک شنبه 21 فروردین 1390, 21:46 عصر
لاین 104 رو دقت کن . echo رو تک کدیشن گذاشتی در صورتی که در echo کلی آرایه با تک کدیشن داری

بعد چه اروری می ده ؟

اگه نشد به جای اینا : $_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']) آدرس دقیق رو بده بده ببین درست می شه و بعدشم این نوع آدرس دهی از امنیت پایینی برخوردار هستن

اون رو درست کردم یعنی اول جفت کوتیشن بود ولی مشکل اینجاست که تو لوکال کار میکنه ولی تو وب فقط لیمیت میکنه و لیست صفحات پایین صفحه نمیاد

رضا قربانی
یک شنبه 21 فروردین 1390, 22:19 عصر
آدرس دقیق رو گذاشتی ؟ اون آرایه ها رو برای آدرس دهی بردار !!!!! یعنی اسم سایت خودت رو بهش اضافه کن (به نوبت باید چک کنی تا ببینی مشکلت کجاست)


<link href="http://ABC.com/s.css" rel="stylesheet" type="text/css" />

به جای


<link href="http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']).'/s.css" rel="stylesheet" type="text/css" />

shahinshyd
دوشنبه 22 فروردین 1390, 11:22 صبح
آدرس دقیق رو گذاشتی ؟ اون آرایه ها رو برای آدرس دهی بردار !!!!! یعنی اسم سایت خودت رو بهش اضافه کن (به نوبت باید چک کنی تا ببینی مشکلت کجاست)


<link href="http://ABC.com/s.css" rel="stylesheet" type="text/css" />

به جای


<link href="http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['SCRIPT_NAME']).'/s.css" rel="stylesheet" type="text/css" />

همه این کارها انجام شد ولی نتیجه نداد وفقط رکوردها رو لیمیت میکنه ولیست صفحات نمیاد و سوال من این هست که چون سایت روی لوکال به درستی کار میکنه برای انتقال سایت روی وب بغیر از تغییر مسیرها(بانک واستایل ولینک ها)ایا باید کار دیگه ای هم انجام بدیم؟