javascript - 在页面导航时更改 SQL 语句

标签 javascript php html sql

我对这一切还很陌生,所以如果这不可能,请纠正我。

我正在尝试使用此 SQL 语句显示数据:

SELECT * FROM trail101 WHERE activities IN(\'Murals\',\'Concert\',\'Theater\',\'Museums\') ORDER BY id DESC LIMIT 0, 9

它只显示我拥有的前 9 条数据,但我希望能够导航到接下来的 9 条数据,其中单击分页会将 SQL 语句更新为 ORDER BY id DESC LIMIT 9、18 表示下一页等等。我将如何编写脚本?我有以下导航代码:

<div class="w3-center w3-padding-32">
<div class="w3-bar">
  <a href="#" class="w3-bar-item w3-button w3-hover-black" class="w3-bar-item w3-button w3-hover-black">«</a>
  <a href="#" class="w3-bar-item w3-black w3-button">1</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-black">2</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-black">3</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-black">4</a>
  <a href="#" class="w3-bar-item w3-button w3-hover-black">»</a>
</div>

最佳答案

有一个简单的代码示例,其中包含您对分页的查询,请查看

  <html>       
   <head>
      <title>Paging Using PHP</title>
   </head>

   <body>
      <?php
         $dbhost = 'localhost:3036';
         $dbuser = 'root';
         $dbpass = 'password';

         $rec_limit = 10;
         $conn = mysql_connect($dbhost, $dbuser, $dbpass);

         if(! $conn ) {
            die('Could not connect: ' . mysql_error());
         }
         mysql_select_db('test_db');

         /* Get total number of records */
         $sql = "SELECT * FROM trail101 WHERE activities IN(\'Murals\',\'Concert\',\'Theater\',\'Museums\') ORDER BY id";
         $retval = mysql_query( $sql, $conn );

         if(! $retval ) {
            die('Could not get data: ' . mysql_error());
         }
         $row = mysql_fetch_array($retval, MYSQL_NUM );
         $rec_count = $row[0];

         if( isset($_GET{'page'} ) ) {
            $page = $_GET{'page'} + 1;
            $offset = $rec_limit * $page ;
         }else {
            $page = 0;
            $offset = 0;
         }

         $left_rec = $rec_count - ($page * $rec_limit);
         $sql = "SELECT *  ". 
            "FROM trail101 ".
            "WHERE activities IN(\'Murals\',\'Concert\',\'Theater\',\'Museums\') ORDER BY id ".
            "LIMIT $offset, $rec_limit";

         $retval = mysql_query( $sql, $conn );

         if(! $retval ) {
            die('Could not get data: ' . mysql_error());
         }

         while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
            echo "ID :{$row['id']}  <br> ".
               "ACTIVITY NAME : {$row['activity_name']} <br> ".
               "--------------------------------<br>";
         }

         if( $page > 0 ) {
            $last = $page - 2;
            echo "<a href = \"$_PHP_SELF?page = $last\">Last 10 Records</a> |";
            echo "<a href = \"$_PHP_SELF?page = $page\">Next 10 Records</a>";
         }else if( $page == 0 ) {
            echo "<a href = \"$_PHP_SELF?page = $page\">Next 10 Records</a>";
         }else if( $left_rec < $rec_limit ) {
            $last = $page - 2;
            echo "<a href = \"$_PHP_SELF?page = $last\">Last 10 Records</a>";
         }

         mysql_close($conn);
      ?>

   </body>
</html>

关于javascript - 在页面导航时更改 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49291637/

相关文章:

javascript - 命名函数表达式如何工作?

javascript - 在 Node API 中接收完整日期时间而不是仅接收日期

PHP - 发布更新数据库字段并添加到现有值

javascript - 使用 React 测试库在 `userEvent.click` 中使用 fetchMock 和 `test.each` 进行多次提取调用

javascript - 如何缩小自定义Chartjs水平线的高度并增加线宽?

php - 是否可以忽略 PHP 中的特定错误?

一个 mysql_query() 查询中的 PHP 多个 MYSQL 命令

html - 使图像拉伸(stretch)到容器的边缘

html - 强制列内容为 `text-align: right`

javascript - 如果第三个字段不为空,则其他两个字段为必填项