2011-05-09 2 views
1

J'ai cette page de "Stranger Studios Web Design" J'ai un problème avec page = $ _GET ['page']; l'erreur est page non définie page variable , et je ne sais pas d'où vient la 'page'? s'il vous plaît toute aide?

<?php 
//php code for making pagination in the gallery page 
    /* 
     Place code to connect to your DB here. 
    */ 
    // code to connect to DB. 

// $page = $_REQUEST['page']; 
    $connection = @mysql_connect(localhost, 'root', ''); 
    if (!$connection){ 
    echo 'not connect'; 
    } 
    mysql_select_db('bena'); // select db 

    $tbl_name="gallery";  //your table name 
    // How many adjacent pages should be shown on each side? 
    $adjacents = 3; 

    /* 
     First get total number of rows in data table. 
     If you have a WHERE clause in your query, make sure you mirror it here. 
    */ 
    $query = "SELECT COUNT(*) as num FROM $tbl_name"; 
    $total_pages = mysql_fetch_array(mysql_query($query)); 
    $total_pages = $total_pages['num']; 

    /* Setup vars for query. */ 
    $targetpage = "galleryContent.php";  //your file name (the name of this file) 
    $limit = 3;         //how many items to show per page 
    $page = $_GET['page']; 

    if((!$page) || (is_numeric($page) == false) || ($page < 0) || ($page > $total_items)) { 
      $page = 1; //default 

} 


if(isset($_REQUEST['page'])) 
    $page = $_REQUEST['page']; 
else 
    $page = 1; 
// if 

    if($page) 
    { $start = ($page - 1) * $limit; }  //first item to display on this page 
    else 
    { $start = 0; }       //if no page var is given, set start to 0 

    /* Get data. */ 
    $sql = "SELECT name FROM $tbl_name LIMIT $start, $limit"; 
    $result = mysql_query($sql); 

    /* Setup page vars for display. */ 
    if ($page == 0) $page = 1;     //if no page var is given, default to 1. 
    $prev = $page - 1;       //previous page is page - 1 
    $next = $page + 1;       //next page is page + 1 
    $lastpage = ceil($total_pages/$limit);  //lastpage is = total pages/items per page, rounded up. 
    $lpm1 = $lastpage - 1;      //last page minus 1 

    /* 
     Now we apply our rules and draw the pagination object. 
     We are actually saving the code to a variable in case we want to draw it more than once. 
    */ 
    $pagination = ""; 
    if($lastpage > 1) 
    { 
     $pagination .= "<div class=\"pagination\">"; 
     //previous button 
     if ($page > 1) 
      $pagination.= "<a href=\"$targetpage?page=$prev\">« previous</a>"; 
     else 
      $pagination.= "<span class=\"disabled\">« previous</span>"; 

     //pages 
     if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up 
     { 
      for ($counter = 1; $counter <= $lastpage; $counter++) 
      { 
       if ($counter == $page) 
        $pagination.= "<span class=\"current\">$counter</span>"; 
       else 
        $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>"; 
      } 
     } 
     elseif($lastpage > 5 + ($adjacents * 2)) //enough pages to hide some 
     { 
      //close to beginning; only hide later pages 
      if($page < 1 + ($adjacents * 2)) 
      { 
       for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++) 
       { 
        if ($counter == $page) 
         $pagination.= "<span class=\"current\">$counter</span>"; 
        else 
         $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>"; 
       } 
       $pagination.= "..."; 
       $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>"; 
       $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>"; 
      } 
      //in middle; hide some front and some back 
      elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2)) 
      { 
       $pagination.= "<a href=\"$targetpage?page=1\">1</a>"; 
       $pagination.= "<a href=\"$targetpage?page=2\">2</a>"; 
       $pagination.= "..."; 
       for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) 
       { 
        if ($counter == $page) 
         $pagination.= "<span class=\"current\">$counter</span>"; 
        else 
         $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>"; 
       } 
       $pagination.= "..."; 
       $pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>"; 
       $pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>"; 
      } 
      //close to end; only hide early pages 
      else 
      { 
       $pagination.= "<a href=\"$targetpage?page=1\">1</a>"; 
       $pagination.= "<a href=\"$targetpage?page=2\">2</a>"; 
       $pagination.= "..."; 
       for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) 
       { 
        if ($counter == $page) 
         $pagination.= "<span class=\"current\">$counter</span>"; 
        else 
         $pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>"; 
       } 
      } 
     } 

     //next button 
     if ($page < $counter - 1) 
      $pagination.= "<a href=\"$targetpage?page=$next\">next »</a>"; 
     else 
      $pagination.= "<span class=\"disabled\">next »</span>"; 
     $pagination.= "</div>\n"; 
    } 
?> 
    <?php 
     while($row = mysql_fetch_array($result)) 
     { 

     // Your while loop here 
     echo '<table><tr><td><img src='.$row["name"].'/></td></tr>'; 
     //echo '<tr><td>'.$row["image"].'</td></tr>'; 
     echo '</table>'; 
     } 
    ?> 
<?php=$pagination?> 

Répondre

3

$_GET contient les paramètres que vous passez à l'URL et leurs valeurs. Donc, il attend votre URL pour ressembler à:

http://yoursitename.com/galleryContent.php?page=1 

ou similaire.

En regardant le code, ils définissent une valeur par défaut juste après si la page n'est pas définie, donc vous pouvez changer $ page = $ _GET ['page']; à ce qui suit pour arrêter l'erreur -

$page = false; 
if (array_key_exists('page', $_GET)) 
{ 
    $page = $_GET['page']; 
} 

Si vous ne passez pas la page dans l'URL que vous serez toujours finir avec la page par défaut 1.

+0

alors pourquoi tout le temps me donner une erreur quelle est l'erreur? pourquoi est-il inconnu? – user743473