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

PHP/MySQL表格单元格添加提交按钮失败问题求助

问题解决:表格行添加提交按钮传递ID的错误修正

你的代码存在几个关键问题导致按钮无法正常渲染,甚至直接显示代码文本,具体问题和修正方案如下:

错误点分析

  • HTML标签语法错误:表单内的input标签缺少开头的<,浏览器无法识别为HTML元素,直接将代码当作文本输出。
  • PHP语法错误:输出表单的echo语句末尾缺少分号,会引发PHP运行报错。
  • 样式代码冗余且语法错误:循环内重复输出的td样式写法错误(td [text-align:center;]应为td { text-align:center; }),且无需在每行循环时重复输出,统一放在表格前即可。

修正后的完整代码

<?php
$conn = new mysqli($server, $user, $password, $database);
echo "<h2>可用宠物</h2>";
if ($conn->connect_error)    
{ 
   die("连接失败: " . $conn->connect_error);    
} 
echo "连接成功";
    
$sql = "SELECT * from cats";    
$result=$conn->query($sql);
if ($result->num_rows > 0)    
{ 
   // 统一设置表格和单元格样式,无需循环重复输出
   echo "<style> 
           table,th, td {border: 1px solid black;}
           td { text-align:center; }
         </style>"; 
   echo "<table><tr>
           <th>ID</th><th>名称</th><th>主人</th><th>生日</th><th>操作</th></tr>"; 
   while ($row = $result->fetch_assoc())
   { 
      $id=$row["id"];
      $name=$row["name"];
      $owner=$row["owner"];
      $birth=$row["birth"];

      echo "<tr><td>".$id."</td><td>".$name."</td><td>".$owner."</td><td>".$birth."</td><td>";
      // 修正input标签语法,补充语句分号
      echo '<form action="change.html" method="get"><input type="submit" name="id_html" id="id_html" value="'.$id.'"/></form>';
      echo "</td></tr>";
   }    
   echo "</table>";
}
$conn->close();
?>

额外说明

  • 每个表单提交后,会通过GET方式将对应行的ID以id_html参数传递到change.html,可在对应处理逻辑中获取该参数。
  • 原代码中未使用且未闭合的<ol>标签已移除,避免HTML结构错误。
  • 补充了数据库连接关闭代码,养成资源释放的良好习惯。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:41:11