【发布时间】:2017-03-28 03:41:32
【问题描述】:
我的 PHP 代码有问题。我有一个包含数据库数据的表。在表中,我有一个包含名称属性的输入。当我已经从数据库加载数据时,属性名称具有相同的值。所以,如果我想发布它们,它只需要最后输入的名称。这是我的代码:
<html>
<head>
<title>Table PHP</title>
</head>
<body>
<form action="execute.php" method="POST">
<table>
<tr>
<th>No.</th>
<th>Registration Number</th>
<th>Customer Name</th>
<th>Action</th>
</tr>
<?php
include "connect.php";
$sql = mysql_query("SELECT numreg,name FROM registration WHERE (numreg NOT IN(SELECT validation FROM tablevalidation)) ");
$no = 1;
while($result = mysql_fetch_array($sql)){
echo "
<tr>
<td>$no.</td>
<td><input type='hidden' name='numreg' value='$result[numreg]' />$result[numreg]</td>
<td>$result[name]</td>
<td><input type='submit' name='validation' value='Validation' /></td>
</tr>";
$no++;
}
?>
</table>
</form>
</body>
</html>
使用上面的代码, input name='numreg' 将为每个输入标签生成相同的值。因此,如果我在表单中使用 POST 方法,即使我选择第一条记录,也只会执行最后一条记录。我怀疑这是因为输入标签属性名称具有相同的值。那么,如何在输入标签中获取不同的属性名称来解决我的问题?请帮忙。
【问题讨论】:
-
将输入类型名称 numreg 更改为不同于 try 的名称
-
感谢@Darji Jigar 的建议,但我认为它不能解决我的问题,因为即使我将输入名称 numreg 更改为另一个名称,它也会保持不变。我使用while循环从数据库中加载数据,所以结果会是这样的:
1. , 2. , 3. . -
你试过下面的答案吗? @Mike.Drinkwater
标签: php mysql html-table