【问题标题】:While loop in mysqli_fetch_assoc repeating outputmysqli_fetch_assoc中的while循环重复输出
【发布时间】:2018-03-10 21:44:41
【问题描述】:

这是我的代码

$sqli = "SELECT * FROM transaction";
$result2 = mysqli_query($connect,$sqli);

while($row = mysqli_fetch_assoc($result2) ) {
   echo "Test : " . $row['id'];

}

输出:测试:192测试:193测试:194测试:195测试:196测试:197

我只想显示最后一个 ID 197。我该怎么做?

【问题讨论】:

  • 是的,这就是你的代码应该做的。 重复是什么意思
  • 我想你确实意识到这些数字都不一样吧?
  • @RiggsFolly 我只想显示最后一个 ID 197。我该怎么做
  • 有很多方法可以做到这一点,这取决于你为什么只想要最后一种。

标签: php sql mysqli


【解决方案1】:

要仅显示一个特定行,请修改 SQL 以仅获取该行

$sqli = "SELECT * FROM transaction WHERE id = 197";
$result2 = mysqli_query($connect,$sqli);

$row = mysqli_fetch_assoc($result2);
echo "Test : " . $row['id'];

或者正如@Funky 所说,如果您只想要表格中的最后一行,无论row.id 可能是什么

$sqli = "SELECT * FROM transaction 
        ORDER BY id DESC
        LIMIT 1";
$result2 = mysqli_query($connect,$sqli);

$row = mysqli_fetch_assoc($result2);
echo "Test : " . $row['id'];

【讨论】:

  • 当然,要么是那个,要么是带有 OFFSET 的 LIMIT
  • 不是特定的 197,而是每次用户触发按钮时的最后一个唯一 ID。现在我的唯一 ID 是 250。(抱歉英语不好)
  • last_insert_id() 也浮现在脑海中,但这只是 我的 2 美分
  • @FunkFortyNiner 不做 INSERT 所以在这里没有帮助
  • @RiggsFolly 是的;但我们不太清楚他们为什么只想选择最后一个条目。
猜你喜欢
  • 1970-01-01
  • 2019-02-17
  • 2012-01-02
  • 2015-10-27
  • 1970-01-01
  • 2013-09-28
  • 2013-10-24
  • 1970-01-01
  • 2019-01-05
相关资源
最近更新 更多