我在这里有一张包含我数据库中所有数据的表格。在每一行的末尾,我都放了一个值为1的复选框,以更新“接受”#39;我的数据库中的状态,默认为0。
我的问题是,勾选复选框的值应更新“接受”#39;状态仅在按下提交按钮后的行中的条目中。
所以基本上我需要检查是否勾选了复选框,如果勾选了,则接受'接受'复选框行中的状态值为1.为此,我想我需要得到' match_id'这一行。
这是它在网站上的样子:
这是表格:
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db('lr') or die(mysql_error());
$result = mysql_query("SELECT * FROM `challenge`") or die(mysql_error());
echo "<table class='match-table'>";
echo "<thead><tr> <th><h1>match_id</h1></th> <th><h1>Team</h1></th><th><h1>Accept Status</h1></th><th><h1>Accept</h1></th> </tr></thead><tbody>";
while($row = mysql_fetch_array($result)){
echo "<tr><td>";
echo $row['match_id'];
echo "</td><td>";
echo $row['team'];
echo "</td><td>";
echo $row['accept'];
echo "</td><td>";
?>
<form action="" method="post">
<input type="checkbox" name="challenge_accept" value="1"/>
<?php
echo "</td></tr>";
}
echo "</tbody></table>";
?>
<input type="submit" value="Save"/>
<input type="reset" value="Delete"/>
</form>
我有什么建议吗?
答案 0 :(得分:0)
您的HTML完全无效,打开了MULTIPLE <form>
,页面末尾只有一个</form>
。你也将你的标签分成垃圾,如
<tr><td><form></td></tr>
[many repeats]
</table>
</form>
您的表单字段也不包含任何识别实际点击哪一行的方法,例如: <input type="submit" name="selected_row" value="<?php echo $row['id'] ?>" />
。就目前而言,你已经对值1
进行了硬编码,因此无论你吐出多少按钮,他们都会将1
发送回你的代码。