簡體   English   中英

MySQLi-選擇上一個結果

[英]MySQLi - Select previous result

我正在嘗試使用php和mysqli選擇以前的值。 我該如何選擇呢?

表格1


|ID__|__VALUE__|
|1 --|--Rami--|
|2 --|--Sami--|
|3 --|--John--|
|4 --|--Jack--|
|5 --|--Mark--|

PHP代碼

    //THIS GETTING 'JOHN'
    $sql0 = mysqli_query($con,"SELECT * FROM `table1` WHERE `id` = '3' LIMIT 1");
    while($row = mysqli_fetch_array($sql0))
        {
            $id = $row['id'];
        }

    //THIS GETTING 'JACK'
    $sql1 = mysqli_query($con,"SELECT * FROM `table1` LIMIT  $id, 1");
    while($row = mysqli_fetch_array($sql1))
          {
              $id = $row['id'];
          }

這是我的php代碼嘗試獲得“薩米”值的情況。 錯誤的代碼,但是我嘗試了!

 //THIS GETTING 'SAMI'
 $sql2 = mysqli_query($con,"SELECT * FROM `table1` LIMIT  $id, -1");
 while($row = mysqli_fetch_array($sql2))
      {
           $id = $row['id'];               
      }

您可以使用ID排序的事實。

SELECT * FROM table1 WHERE id > $id ORDER BY id ASC LIMIT 1

這將選擇第一行( LIMIT 1哪里) id > $id與該行后的第一行:,所以在易懂的語言$id ORDER BY是必需的,因此限制正常運行(您將所有行以升序排列)

分別

SELECT * FROM table1 WHERE id < $id ORDER BY id DESC LIMIT 1

將上一行移至$id

您應該更改您的sql-query

$sql2 = mysqli_query($con,"SELECT * FROM `table1` WHERE id=$id-1");
 while($row = mysqli_fetch_array($sql2))
      {
           $id = $row['id'];               
      }

請使用last_insert_id(),這將給出該垂直表中的最后一個插入值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM