php怎么在复选框中获取到变化的值?
标题的描述可能很不准确..事情是这样的:
我在学习php,准备做一个类似于的todolist的小项目。
有个数据表,里面有值ID(主键)和thing两个列。
现在把thing循环输出出来,在每个值前面加上复选框。我想选定复选框后,点击「完成」按钮,就在SQL中把这一行给delete掉。
现在的问题就是,我不知道用复选框选择后,点击完成,怎么获取到这个thing的id,然后用sql语句删除掉
while ($row = mysql_fetch_array($query)) { //输入复选框 echo "<form action=\"index.php\" method=\"post\" name=\"finish\">"; echo "<input name=\"a[]\" type=\"checkbox\" id=\"a[]\" value=\".$row[id].\" />"; echo $i ; $i = $i + 1; echo $row[thing]; echo "->" ; outputTheTime($row[time]); echo "<br /><hr />"; } echo "<input name = \"finish\" type = \"submit\" id =\"finish\" value = \"完成\" />"; echo "</form>";
//完成,删除事项。 if($_POST['finish']) { for($i=0;$i<count($_POST["a"]);$i++) { $sql = "DELETE FROM todaylist WHERE id = {$_POST["a"][$i]}";//这里肯定不对吧... mysql_query($sql); } echo "<meta http-equiv=refresh content=0;url=index.php>";
因为是自学,而且刚起步,请忽略掉我屎一样的代码-。-
规则劳动者大厦
11 years, 10 months ago
Answers
都是一些语法错误了,思路没什么大碍。
再次强调一边,数组里面键值引用的时候一定要用引号!!!引号,这是个字符串。
你这个语法都是哪本书教的,刚学的时候千万别偷懒。比如
$row[thing]
,一定要写成
$row['thing']
这段里面的
echo "<input name=\"a[]\" type=\"checkbox\" id=\"a[]\" value=\".$row[id].\" />";
要改成
echo "<input name=\"a[]\" type=\"checkbox\" id=\"a[]\" value=\"{$row['id']}\" />";
delete的时候
$sql = "DELETE FROM todaylist WHERE id = {$_POST["a"][$i]}";
要改成, 要弄清楚双引号的字符串里面要用单引号
$sql = "DELETE FROM todaylist WHERE id = {$_POST['a'][$i]}";
leonly
answered 11 years, 10 months ago