使用SQl标识每个表行

时间:2010-11-08 13:18:43

标签: php

我使用HTML创建了一个从数据库中检索数据的表。在每一行的末尾,我手动添加了一个提交按钮,该按钮位于while循环内部,因为数据已从数据库中删除。单击该按钮后,会话用户名将插入数据库中的表中。我还希望它只输入特定行的其他数据。根据我现在所拥有的,无论您在任何行上单击哪个按钮,都只会插入第一行的数据。

感谢您的帮助。

简单来说,在按钮上单击如何从按钮所在的行中选择数据并将其插入数据库?

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM Persons");

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
echo "<td>"; include "button.php"; echo "</td>";
      echo "</tr>";
      }
    echo "</table>";

Button.php检查session_username并将其添加到数据库中。我希望它也插入“名字”。

2 个答案:

答案 0 :(得分:0)

您需要在提交按钮中添加一个名称,以便了解哪一个被点击了。

答案 1 :(得分:0)

如果您不介意重新加载页面,一种简单的方法是为表格的每一行单独设置,如下所示:

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<form action=""submit.php"">";
  echo "<input type=""hidden"" name=""FirstName"" value=""" . $row['FirstName'] . """>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td> <input type=""submit"" value=""Save""> </td>";
  echo "</tr>";
  }

按下按钮会将表单提交给submit.php,其中包含一个名为FirstName的POST参数,其中包含该人的名字,submit.php可以执行数据库INSERT