开发者社区> 问答> 正文

php怎么在复选框中获取到变化的值?

标题的描述可能很不准确..事情是这样的:
我在学习php,准备做一个类似于的todolist的小项目。
有个数据表,里面有值ID(主键)和thing两个列。
现在把thing循环输出出来,在每个值前面加上复选框。我想选定复选框后,点击「完成」按钮,就在SQL中把这一行给delete掉。

现在的问题就是,我不知道用复选框选择后,点击完成,怎么获取到这个thing的id,然后用sql语句删除掉
screenshot

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>";

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

展开
收起
小旋风柴进 2016-06-08 16:37:07 2506 0
1 条回答
写回答
取消 提交回答
  • 再次强调一边,数组里面键值引用的时候一定要用引号!!!引号,这是个字符串。你这个语法都是哪本书教的,刚学的时候千万别偷懒。比如$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]}";

    2019-07-17 19:32:17
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载