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
相关产品推荐
相关产品推荐

