-2

i got some problems

Notice: Undefined variable: pageination in C:\xampp\htdocs\pagge\pagenition.php on line 28

Notice: Undefined variable: prev in C:\xampp\htdocs\pagge\pagenition.php on line 29

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\pagge\pagenition.php on line 41

this is my code

<?php
require("conn.php");
$count_query = mysql_query("SELECT null FROM product");
$count = mysql_num_rows($count_query);
if(isset($_GET['page'])){
    $page=preg_replace("#[^0-9]#","",$_GET['page']);
}else{
    $page = 1;
}
$perPage = 2;
$lastPage = ceil($count/$perPage);
$limit = "LIMIT". ($page-1)*$perPage .", $perPage";
$query = mysql_query("SELECT P_name FROM product ORDER BY P_id DESC '$limit'");
if($lastPage!=1){
    if($page != $lastPage){
    $next = $page + 1;
    $pageination .= '<a href= "pagenition.php?page='.$next.">NEXT </a>" ;
    }
}
if($lastPage!=1){
    if($page != $lastPage){
    $prev = $page - 1;
    $pageination .= '<a href= "pagenition.php?page='.$prev.">Prev </a>" ;
    }
}
while($row=mysql_fetch_array($query)){
    $output .= $row['P_name'] . "<hr/>";
}
?>
<html>
<body>
<h1>  pagenition example </h1>
<?php  echo $output  ?>
<?php  echo $pageination  ?>
</body>
</html>
Ahmed Safadi
  • 4,402
  • 37
  • 33
  • possible duplicate of [PHP: "Notice: Undefined variable" and "Notice: Undefined index"](http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) – Justinas Nov 24 '14 at 11:55
  • Assume that 'pagenition.php' exists, at the location 'C:\xampp\htdocs\pagge\'? – Alex Nov 24 '14 at 11:56
  • 1
    add `$pageination = '';` after `require("conn.php");` – Think Different Nov 24 '14 at 11:56
  • use 'or die(mysql_error())' after mysql_query(). will help to detect any query errors. Also print the query once to check if you are getting all the values right. Also recommend you to switch to prepared statements in the future. – Aditya Nov 24 '14 at 11:57

1 Answers1

0

simple code for pagination...

<?php
$sql = "select * from tb_name order by id desc";
$result = mysql_query($sql);
$no = mysql_num_rows($result);

if (isset($_GET['page'])) { 
    $page = preg_replace('#[^0-9]#i', '', $_GET['page']); 
} else { 
    $page = 1;
} 
$itemsPerPage = 30; 

$lastPage = ceil($no / $itemsPerPage);

if ($page < 1) { 
    $page = 1; 
} else if ($page > $lastPage) { 
    $page = $lastPage; 
} 

$centerPages = "";
$sub1 = $page - 1;
$sub2 = $page - 2;
$add1 = $page + 1;
$add2 = $page + 2;
if ($page == 1) {
    $centerPages .= '&nbsp; <span class="pagNumActive">' . $page . '</span> &nbsp;';
    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $add1 . '">' . $add1 . '</a> &nbsp;';
} else if ($page == $lastPage) {
    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $sub1 . '">' . $sub1 . '</a> &nbsp;';
    $centerPages .= '&nbsp; <span class="pagNumActive">' . $page . '</span> &nbsp;';
} else if ($page > 2 && $page < ($lastPage - 1)) {
    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $sub2 . '">' . $sub2 . '</a> &nbsp;';
    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $sub1 . '">' . $sub1 . '</a> &nbsp;';
    $centerPages .= '&nbsp; <span class="pagNumActive">' . $page . '</span> &nbsp;';
    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $add1 . '">' . $add1 . '</a> &nbsp;';
    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $add2 . '">' . $add2 . '</a> &nbsp;';
} else if ($page > 1 && $page < $lastPage) {
    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $sub1 . '">' . $sub1 . '</a> &nbsp;';
    $centerPages .= '&nbsp; <span class="pagNumActive">' . $page . '</span> &nbsp;';
    $centerPages .= '&nbsp; <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $add1 . '">' . $add1 . '</a> &nbsp;';
}

$limit = 'limit ' .($page - 1) * $itemsPerPage .',' .$itemsPerPage; 

$sql2 = mysql_query("select * from tb_name order by id desc $limit"); 
$paginationDisplay = ""; 

if ($lastPage != "1"){

    $paginationDisplay .= 'Page <strong>' . $page . '</strong> of ' . $lastPage. '&nbsp;  &nbsp;  &nbsp; ';

    if ($page != 1) {
        $previous = $page - 1;
        $paginationDisplay .=  '&nbsp;  <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $previous . '" style="text-decoration:none;"> Previous </a> ';
    } 

    $paginationDisplay .= '<span class="paginationNumbers">' . $centerPages . '</span>';

    if ($page != $lastPage) {
        $nextPage = $page + 1;
        $paginationDisplay .=  '&nbsp;  <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $nextPage . '" style="text-decoration:none;"> Next</a> ';
    } 
}
?>

write <?php echo $paginationDisplay; ?> to display pagination no.

jay.jivani
  • 1,560
  • 1
  • 16
  • 33
  • your code is perfect..just change $count_query = mysql_query("SELECT null FROM product"); to $count_query = mysql_query("SELECT * FROM product"); – jay.jivani Nov 25 '14 at 08:23