-2

hello i am new to php i am geeting this error

Notice: Undefined variable: page_pagination in K:\PHP WAMP\wamp\www\Oracle Certified Masters\Oracle Certified Masters\includes\middle.php on line 82

and here is my sample code.. plz help me..

<?php


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

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

// if $_GET['page'] defined, use it as page number, $_GET gets the page number out of the url
//set by the $page_pagination below
if(isset($_GET['page'])){$page_num = $_GET['page'];}

//the point to start for the limit query
$offset = $page_num;
$page_pagination;
// Zero is an incorrect page, so switch the zero with 1, mainly because it will cause an error with the SQL
if($page_num == 0) {$page_num = 1;}

// counting the offset


$sql = "SELECT QUERY Limit $offset, $rowsPerPage ";
$res = mysql_query($sql) or die(mysql_error());

// how many rows we have in database
$sql2  = "SELECT COUNT(sub_ID) AS numrows FROM posts ";
$res2  = mysql_query($sql2) or die(mysql_error());
$row2  = mysql_fetch_array($res2);
$numrows = $row2['numrows'];

// print the random numbers
while($row = mysql_fetch_array($res))
{
    //Echo out your table contents here.

    echo $row[1].'<BR>';
    echo $row[2].'<BR>';
    echo '<BR>';
}

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

// print the link to access each page
$self = "index.php?";

if ($numofpages > '1' ) {

    $range =15; //set this to what ever range you want to show in the pagination link
    $range_min = ($range % 2 == 0) ? ($range / 2) - 1 : ($range - 1) / 2;
    $range_max = ($range % 2 == 0) ? $range_min + 1 : $range_min;
    $page_min = $page_num- $range_min;
    $page_max = $page_num+ $range_max;

    $page_min = ($page_min < 1) ? 1 : $page_min;
    $page_max = ($page_max < ($page_min + $range - 1)) ? $page_min + $range - 1 : $page_max;
    if ($page_max > $numofpages) {
        $page_min = ($page_min > 1) ? $numofpages - $range + 1 : 1;
        $page_max = $numofpages;
    }

    $page_min = ($page_min < 1) ? 1 : $page_min;

    //$page_content .= '<p class="menuPage">';

    if ( ($page_num > ($range - $range_min)) && ($numofpages > $range) ) {
        $page_pagination .= '<a class="num"  title="First" href="'.$self.'page=1">&lt;</a> ';
    }

    if ($page_num != 1) {
        $page_pagination .= '<a class="num" href="'.$self.'page='.($page_num-1). '">Previous</a> ';
    }

    for ($i = $page_min;$i <= $page_max;$i++) {
        if ($i == $page_num)
        $page_pagination .= '<span class="num"><strong>' . $i . '</strong></span> ';
        else
        $page_pagination.= '<a class="num" href="'.$self.'page='.$i. '">'.$i.'</a> ';
    }

    if ($page_num < $numofpages) {
        $page_pagination.= ' <a class="num" href="'.$self.'page='.($page_num + 1) . '">Next</a>';
    }


    if (($page_num< ($numofpages - $range_max)) && ($numofpages > $range)) {
        $page_pagination .= ' <a class="num" title="Last" href="'.$self.'page='.$numofpages. '">&gt;</a> ';
    }

    //$page['PAGINATION'] ='<p id="pagination">'.$page_pagination.'</p>';
}//end if more than 1 page

echo $page_pagination.'<BR><BR>';

echo 'Number of results - '.$numrows ;
echo ' and Number of pages   - '.$numofpages.'<BR><BR>';

// Free resultset
//mysql_free_result($res);

// and close the database connection
//mysql_close($con);

?>
4

2 に答える 2

1

Simple $page_pagination; statement sets value of this variable to null. But as you use .= operator later (or, if there are no pages, just echo it outright), you need it to be set to something more substantial - yet empty at the same time.

An empty string fits nicely in this category:

$page_pagination = '';
于 2013-03-22T15:18:53.523 に答える
0

This is not an error. It is a Notice. PHP has different levels of notifications for your code. Notices, Warnings and Errors.

A NOTICE means that there is something on your code that does not look right. This will not stop code execution.

A WARNING means that the is something on your code that is likely to give you an error. This will not stop code execution.

An ERROR means, well, that there has been an error. This WILL stop your code execution.

As far as the notice you are getting: It is pretty clear, you are using a variable $page_pagination, but it has not been defined before.

so instead of just having

$page_pagination;

set it to something like:

$page_pagination = '';

There are different levels of notices, warnings and errors that help you identify its source. You can find them on the link at the top of this answer.

于 2013-03-22T15:22:44.257 に答える