需要PHP分页的帮助吗

需要PHP分页的帮助吗,php,mysql,pagination,Php,Mysql,Pagination,我把一个分页代码放在一起,它应该从邮政编码表中提取数据,并返回一定半径内的所有邮政编码。分页是有效的,它通过在底部单击页码链接来显示结果。在你点击第二页、第三页或之后的任何一页之前,一切看起来都很好。将不显示任何信息:( 这是我的代码。这是搜索页面 search.html <form action="search.php" method="post"> <label>Enter your ZIP Code: <input type="text

我把一个分页代码放在一起,它应该从邮政编码表中提取数据,并返回一定半径内的所有邮政编码。分页是有效的,它通过在底部单击页码链接来显示结果。在你点击第二页、第三页或之后的任何一页之前,一切看起来都很好。将不显示任何信息:(

这是我的代码。这是搜索页面

search.html

    <form action="search.php" method="post">
        <label>Enter your ZIP Code: <input type="text" name="zipcode" size="6" maxlength="5" </label>
        <br />
        <label>Select a distance in miles from this point:</label>
        <select name="d">
            <option>5</option>
            <option>10</option>
            <option>25</option>
            <option>50</option>
            <option>100</option>
        </select>

        <br />


        <br /> 
        <input type="submit" name="submit" value="Submit" />

请尝试并正确格式化此代码。通常是
{}
按钮操作正确,但除此之外,用四个空格缩进可以修复。警告:如果您只是在学习PHP,请不要使用该界面。它非常可怕和危险,以至于在PHP 7中被删除。类似的替换和类似的指南解释了最佳做法。您的用户数据没有,也有,可以利用。我看不到
SELECT from$tble_name WHERE…
anywhere。您的代码只假设各种sql调用成功,而不检查是否成功。
<?php

$d=$_POST['d']; $zipcode=$_POST['zipcode'];
//*  -------- CONNECT TO MY DATABASE --------- *//
$sql2="SELECT * FROM zips WHERE zipcode='$zipcode'"; 
$result2=mysql_query($sql2); $count=mysql_num_rows($result2);
if($count==1)  {

    while($row = mysql_fetch_array($result2))   {
        $lat1 = $row['Latitude']; $lon1 = $row['Longitude'];
    } 
}
$r = 3959;

$latN = rad2deg(asin(sin(deg2rad($lat1)) * cos($d / $r) +
   cos(deg2rad($lat1)) * sin($d / $r) * cos(deg2rad(0))));

$latS = rad2deg(asin(sin(deg2rad($lat1)) * cos($d / $r) +
   cos(deg2rad($lat1)) * sin($d / $r) * cos(deg2rad(180))));
                             $lonE = rad2deg(deg2rad($lon1) + 
 atan2(sin(deg2rad(90)) * sin($d / $r) * cos(deg2rad($lat1)), cos($d / $r) -
   sin(deg2rad($lat1)) * sin(deg2rad($latN))));
                             $lonW = rad2deg(deg2rad($lon1) + 
 atan2(sin(deg2rad(270)) * sin($d / $r) * cos(deg2rad($lat1)), cos($d / $r) 
 sin(deg2rad($lat1)) * sin(deg2rad($latN))));

$adjacents = 2;     

$query = "SELECT COUNT(*) as num FROM zips WHERE (Latitude <= $latN
   AND Latitude >= $latS AND Longitude <= $lonE AND Longitude >= $lonW)
   AND city != ''";

$total_pages = mysql_fetch_array(mysql_query($query));  
$total_pages = $total_pages[num];

$targetpage = "search.php"; 
$limit = 10;
$page = $_GET['page'];
if($page)   
    $start = ($page - 1) * $limit;
else   
    $start = 0;          

$query3 = "SELECT * FROM zips WHERE (Latitude <= $latN AND Latitude
   >= $latS AND Longitude <= $lonE AND Longitude >= $lonW) AND city != '' 
  ORDER BY state, city, Latitude, Longitude LIMIT $start, $limit";

$result3 = mysql_query($query3);
if ($page == 0) 
    $page = 1;  

$prev = $page - 1;  
$next = $page + 1;        
$lastpage = ceil($total_pages/$limit);

$lpm1 = $lastpage - 1;   

$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 echo "<table align='center', border='1',table width='90%',
   cellpadding='0', cellspacing='0'  class='zui-table
   zui-table-rounded'>";

   echo "<tr>";

   echo "<td>" . "<font color='black', face='verdana',
   size='2'><b>City</b></font></td>"; echo "<td>" . "<font
   color='black', face='verdana', size='2'><b>State</b></font></td>";
   echo "<td>" . "<font color='black', face='verdana', size='2'><b>Zip
   Code</b></font></td>";

   echo "</tr>";

      while($row = mysql_fetch_array($result3)) {



   echo "<tr>";

   echo "<td align='left'><font color='black', face='verdana',
   size='2'>" . $row['city'] . "</font></td>";

   echo "<td align='left'><font color='black', face='verdana',
   size='2'>" . $row['state'] . "</font></td>";

   echo "<td align='left'><font color='black', face='verdana',
   size='2'>" . $row['zipcode'] . "</font></td>";

   echo "</tr>\n";


       }


   echo "</table>\n<br />\n";


   ?>

      <br>


   <?=$pagination?>   </html>