mysql - php怎么在复选框中获取到变化的值?
ringa_lee
ringa_lee 2017-04-10 13:09:46
[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>";

因为是自学,而且刚起步,请忽略掉我屎一样的代码-。-

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
迷茫

都是一些语法错误了,思路没什么大碍。
再次强调一边,数组里面键值引用的时候一定要用引号!!!引号,这是个字符串。你这个语法都是哪本书教的,刚学的时候千万别偷懒。比如$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]}";
怪我咯

$sql = "DELETE FROM todaylist WHERE id = {$_POST['a'][$i]}";

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号