MySQLi - 选择以前的结果

时间:2015-02-13 18:26:19

标签: php mysql mysqli

我试图使用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'];               
      }

3 个答案:

答案 0 :(得分:1)

您可以使用订购ID的事实。

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

这将选择LIMIT 1所在的第一行(id > $id),所以用简单的话说:行$id之后的第一行。 Ther ORDER BY是必需的,因此限制正常工作(按升序排列所有行)

分别

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

将前一行转到$id

答案 1 :(得分:0)

您应该更改您的sql-query

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

答案 2 :(得分:0)

请使用last_insert_id()这将在该特定表格中给出最后插入的值