必须从数据库中删除已选中的记录

时间:2015-04-06 13:06:35

标签: php mysql

我实际上在网站上工作,而且我被困住了。我的网站在表格中显示我数据库中的数据。表格中的每个最后一列都是一个复选框。如果我"检查"复选框,我想从数据库中删除已复选的记录。任何帮助都会有所帮助。

如果我按下删除按钮,我想删除主题被选中的主题。

这是源代码:

echo '<table align="center" border="1" style="width:50% "><tr><th>Fórum neve</th><th>Tulajdonos</th><th>Létrehozás ideje</th><th>Hozzászólások száma</th><th>Törlés</th></tr>';

$sql = "SELECT topicname, username, created, COUNT(commentid)
        FROM user,topic,comment
        WHERE topic.topicid = comment.whichtopic
        AND user.userid = topic.owner
        GROUP BY topicname";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
    echo '<tr><th>' . $row["topicname"] . '</th><td>' . $row["username"] . '</td><td>'. $row["created"] .'</td><td>'. $row["COUNT(commentid)"] .'</td>
                <td><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $row["topicname"]; ?>></td></tr>';
}
echo '</table>';
echo '<form name="form1" method="post" action=""> 
      <input name="delete" type="submit" id="delete" value="Delete">
      </form>';
if($delete){ 
    for($i=0;$i<$count;$i++){ 
        $del_id = $checkbox[$i]; 
        $sql = "DELETE FROM topic WHERE topicname='$del_id'"; 
        $result = mysql_query($sql); 
    }
}

2 个答案:

答案 0 :(得分:0)

您可能以错误的方式删除

topicname='$del_id'

在执行$del_id查询之前打印DELETE。我认为topicname找不到任何匹配。试试这个

 $sql = "DELETE FROM topic WHERE topicid ='$del_id'"; 

答案 1 :(得分:0)

请试试这个

if(isset($_POST['delete'])){ 
        for($i=0;$i<count($_POST['checkbox']);$i++){ 
            $del_id = $_POST['checkbox'][$i]; 
            $sql = "DELETE FROM topic WHERE topicname='$del_id'"; 
            $result = mysql_query($sql); 
        } 
    }