0

我有这个代码在不同的脚本中工作。我正在做一些愚蠢的事情,但我看不到它。

<div>  
        <a href="view_accessory.php?id=<?php echo ++$pageno;?>"><div id='button'>Next</div> </a>
        <a href="edit_acces_form.php?id=<?php echo $pageno; ?>"><div id='button'>Edit</div> </a> 
        <a href="view_accessory.php?id=<?php echo --$pageno;?>"><div id='button'>Previous</div> </a> 
</div>

第一行有效,第二行有效,但第三行无效。如果我改变周围的线条,它们会单独工作 - 但不能一起工作。

这是整个代码 - 无论位置如何,编辑都有效。位于第二位的数学操作数将不起作用。

<!DOCTYPE html>
<html lang="en-US">
<head>
    <title>View Accessory Data</title>
    <link href="styles/main.css" type="text/css" rel="stylesheet">
</head>
<body>
    <div align=center id="wrapper">
    <div align="center" id="pagewrap">      
    <header> 
       <h1> View Accessory Data </h1>
    </header>
    <?php
        require 'zxcvbn/db.inc.php';//database connection
        
        if (!$pageno = \filter_input(INPUT_GET, "id", \FILTER_VALIDATE_INT)){
        $pageno = 1; 
        } else {
            $pageno = (int) $pageno;
        } 
        echo "first pageno = ".$pageno;
        
        $result0 = \mysqli_query($con, "SELECT COUNT(*) FROM accessory");
         $numrows = \mysqli_fetch_row($result0);
        $lastpage = ($numrows[0]);
        $pageno = (int)$pageno;
          
        if ($pageno > $lastpage) {
        $pageno = 1;
         // starts at the beginning
         
        } // if
        if ($pageno < 1) {
          $pageno = $lastpage;
         //  goes to last record
        } // if 
           
        //$pageno = $pageno-1;
                
        ?>
        
        <div>  
        <a href="view_accessory.php?id=<?php echo ++$pageno;?>"><div id='button'>Next</div> </a>
        <a href="edit_acces_form.php?id=<?php echo $pageno; ?>"><div id='button'>Edit</div> </a> 
        <a href="view_accessory.php?id=<?php echo --$pageno;?>"><div         
      id='button'>Previous</div> </a> 
         
        </div> 
                
        
        <?php
        $result = \mysqli_query($con, "SELECT * FROM accessory where rec_number='$pageno'");
        $row = \mysqli_fetch_row($result);
        echo "<table bgcolor='white' ><tr><td>Name :</td><td>".htmlspecialchars($row[1])."                
       </td> 
       </tr>";
           $sql="SELECT rec_number, name FROM tank WHERE rec_number=$row[2]";
            $result2 = \mysqli_query($con, $sql);
                $row2 = \mysqli_fetch_row($result2);
        echo "<tr><td>Tank:</td><td>".\htmlspecialchars($row2[1])."</td></tr>";
        echo "<tr><td>In Service Date:</td><td>".htmlspecialchars($row[3])."</td></tr>";
        echo "<tr><td>Type :</td><td>".htmlspecialchars($row[4])."</td></tr>";
        echo "<tr><td>Notes :</td><td>".htmlspecialchars($row[5])."</td></tr>";
        echo "<tr><td>Picture :</td><td><img src=".$row[6]." width='50%'</td></tr>";
        echo "</table bgcolor='#ecf2f8'>";
         // Free result set
        /* @var $c junk */
        $c = mysqli_free_result($result);
        /* @var $c1 junk */
        $c1 = mysqli_close($con);
        ?>
          
        <div id="menu">
        <a href="menu.php" ><div id='button'>Main Menu</div></a>
        
        <footer >
        <a href="water_change.php"><div id='button'/>Water Changes</div></a>
        <a href="water.php"><div id='button'/>Water Testing</div> </a>
        <a href="maintenance.php"><div id='button'/>Maintenance</div></a>
        <a href="livestock.php"><div id='button'/>Livestock</div></a>
        <a href="plants.php"><div id='button'/>Plants</div></a>
        <a href="log.php"><div id='button'/>Log</div></a>
        <a href="tank.php"><div id='button'/>Tanks</div></a>
        <a href="filter.php"><div id='button'/>Filters</div></a>
        <a href="pump.php"><div id='button'/>Pumps</div></a>
        <a href="light.php"><div id='button'/>Lights</div></a>
        <a href="accessory.php"><div id='button'/>Accessories</div></a>
        <a href="diary.php"><div id='button'/>Diary</div></a>
        </footer>   
        </div>    
         </div>
        </div>
    </body>
</html> 
4

2 回答 2

2

++$pageno递增$pageno变量以包含下一个页码。然后当您稍后使用时--$pageno,它会将其递减回当前页面,而不是上一页。

不要使用递增/递减运算符,只需使用加法和减法,因此变量保持不变,但您将上一页和下一页页码放在 URL 中。

<div>  
<a href="view_accessory.php?id=<?php echo $pageno + 1;?>"><div id='button'>Next</div> </a>
<a href="edit_acces_form.php?id=<?php echo $pageno; ?>"><div id='button'>Edit</div> </a> 
<a href="view_accessory.php?id=<?php echo $pageno - 1;?>"><div id='button'>Previous</div> </a> 
 </div>

您的第二行也可能无法正常工作——它会编辑下一个项目,而不是当前项目。

于 2020-02-22T16:02:02.663 回答
0

看起来应该是

++$pageno; //adds 1 to pageno
--$pageno; //removes the 1 that was just added
--$pageno; //removes another 1 to get to previous
于 2020-02-22T16:02:41.147 回答