PDA

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



پیام حیاتی
شنبه 05 تیر 1395, 09:11 صبح
سلام
برای صفحه بندی از کد های زیر استفاده کردم :


$page=$_GET["page"];
if($page=="" || $page=="1")
{
$page1=0;
}
else
{
$page1=($page*5)-5;
}


mysql_query('set names "utf8"');
$query="SELECT * FROM student WHERE s_mname=('$mastername') limit $page1,5 ";




کدهای شمارش :


<?php

//this is for counting number of page

$res1=mysql_query("select * from student");
$cou=mysql_num_rows($res1);
$a=$cou/5;
$a=ceil($a);
echo "<br />";
for($b=1;$b<=$a;$b++)
{
?><a href="master.php?page=<?php echo $b; ?>" style="text-decoration:none"><?php echo $b." "; ?></a><?php
}

?>


اما زمانی که صفحه لود می شود به این خط خطا می دهد:


$page=$_GET["page"];
//خطا
Notice: Undefined index: page in C:\xampp\htdocs\School\master.php on line 22




وقتی روی شماره یک صفحه بندی کلیک کنم خطا بر طرف می شود ، چکار باید کنم که بار اول هم بدون خطا باشد؟

mohamadali1374
شنبه 05 تیر 1395, 11:11 صبح
سلام شرط بذارید که اگه page به صفحه ارسال شده بود مقدار اون رو در $page بریزه:

if(isset($_GET["page"])){
$page=$_GET["page"];
}else{
$page=1;
}

کد بالا میگه اگه ارسال شده بود که مقدار اون رو در متغیر page بریز وگرنه شماره صفحه رو 1 (پیشفرض) بذار.

amirmohammad76
یک شنبه 06 تیر 1395, 00:48 صبح
از اين كد ميتوني استفاده كني :

<html>
<head>
<title>Paging Using PHP</title>
</head>

<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';

$rec_limit = 10;
$conn = mysql_connect($dbhost, $dbuser, $dbpass);

if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('test_db');

/* Get total number of records */
$sql = "SELECT count(emp_id) FROM employee ";
$retval = mysql_query( $sql, $conn );

if(! $retval ) {
die('Could not get data: ' . mysql_error());
}
$row = mysql_fetch_array($retval, MYSQL_NUM );
$rec_count = $row[0];

if( isset($_GET{'page'} ) ) {
$page = $_GET{'page'} + 1;
$offset = $rec_limit * $page ;
}else {
$page = 0;
$offset = 0;
}

$left_rec = $rec_count - ($page * $rec_limit);
$sql = "SELECT emp_id, emp_name, emp_salary ".
"FROM employee ".
"LIMIT $offset, $rec_limit";

$retval = mysql_query( $sql, $conn );

if(! $retval ) {
die('Could not get data: ' . mysql_error());
}

while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
echo "EMP ID :{$row['emp_id']} <br> ".
"EMP NAME : {$row['emp_name']} <br> ".
EMP SALARY : {$row['emp_salary']} <br> ".
"--------------------------------<br>";
}

if( $page > 0 ) {
$last = $page - 2;
echo "<a href = \"$_PHP_SELF?page = $last\">Last 10 Records</a> |";
echo "<a href = \"$_PHP_SELF?page = $page\">Next 10 Records</a>";
}else if( $page == 0 ) {
echo "<a href = \"$_PHP_SELF?page = $page\">Next 10 Records</a>";
}else if( $left_rec < $rec_limit ) {
$last = $page - 2;
echo "<a href = \"$_PHP_SELF?page = $last\">Last 10 Records</a>";
}

mysql_close($conn);
?>

</body>
</html>