You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP操作MySQL如何查询获取数据表中的最后一条最新记录

问题根源

你现在的代码存在两个问题导致重复生成表格:

  • SQL查询会取出表中所有存储的数据
  • 整个表格的HTML代码写在了while循环内部,每遍历一条数据就会完整渲染一次表格

修改方案

  1. 调整SQL语句,仅查询最新的1条数据。通常表内会有自增主键id或者数据插入时间字段create_time,按该字段倒序排列后取第一条即可,以下示例用自增id作为排序依据:
    把原有查询语句$sql="SELECT * from roberto";
    修改为$sql="SELECT * from roberto ORDER BY id DESC LIMIT 1";
  2. 删除外层while循环,直接读取单条查询结果即可,不需要循环遍历。

修改后完整代码

</div>
<?php
// 仅查询最新1条数据
$sql="SELECT * from roberto ORDER BY id DESC LIMIT 1";
$result=mysqli_query($conexion,$sql);
// 直接读取单条数据,无需循环
$mostrar=mysqli_fetch_array($result);
?>
<table class="table is-striped is-narrow is-hoverable is-fullwidth">
  <thead>
    <tr>
      <th>Tipo</th>
      <th>Niveles</th>
      <th>Estado</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>pH Sensor <spab></th>
      <td><p>Nivel de pH: <strong><span id="PHvalue"></span><?php echo $mostrar['nivelph']; ?></strong></p>  
      </td>
      <td>Funcionando</td>
  </tbody>
  <tbody>
    <tr>
      <th>Caudalímetro</th>
      <td><p><strong><?php echo $mostrar['caudal']; ?>10L/min</strong></p>
      </td>
      <td>Funcionando</td>
  </tbody>
  <tbody>
    <tr>
      <th>Bomba subir pH ↑</th>
      <td><span><?php echo $mostrar['nivelph'] ?>pH</span>
      </td>
      <td>Subiendo el pH↑</td>
  </tbody>
  <tbody>
    <tr>
      <th>Bomba bajar pH ↓</th>
      <td><span><?php echo $mostrar['nivelph'] ?>pH</span>
      </td>
      <td>Bajando el pH↓</td>
  </tbody>
    <tr>
      <th>Nutrientes</th>
      <td><span>1mL/24horas</span>
      </td>
      <td>Activando bomba</td>
  </tbody>
</table>
</section>

注:原有代码中""" + str(ph) + """为Python语法,上述代码已替换为PHP读取数据库pH值的输出逻辑,你可以根据实际需求调整。


内容的提问来源于stack exchange,提问作者Octavio Bottari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:36:03