多个CheckBox删除

时间:2014-04-25 11:54:27

标签: php jquery ajax checkbox

我很难创建多个复选框ajax delete。我是ajax noob。

    $sql = 'SELECT * FROM users';
$qry = mysql_query($sql);
$html = '';
$html .='<center>';
$html .= '<a href="" id="a-add">+ Add New User</a>';
$html .= ' || <a href="" id="a-delete"> Delete User</a>';
$html .= '<div id="div-data">';
$html .= '<table border="1" width="300px">';
$html .= '<tr>';    
$html .= '<th width="5px"><input type="checkbox" id="cb-checkall"></th>';   //all
$html .= '<th> Users</th>';         
//$html .= '<th>Delete</th>';
while($row = mysql_fetch_array($qry)) {
    $html .= '<tr align="center">';     
    $html .= '<td><input type="checkbox" name="checkall" class="checkall" value="'.$row['uid'].'"/></td>';   
    $html .= '<td>'.$row['fname'].'</td>';
    $html .= '</tr>';           
}
$html .= '</table>';
$html .= '</div>';
echo $html;

delete.php(使用implode)

    $deleteid = implode(",",$_POST['checkall']);
$fname = mysql_escape_string($_POST['firstname']);
$sql = "DELETE from  `bpo`.`users` (`uid` ,`fname`)
        WHERE UID IN (".$deleteid.")";

我的数据不会去delete.php。 idk为什么。当我按下删除按钮并自动反映到我的数据库时,我需要有关删除已检查行的帮助。更改必须出现在屏幕上而不刷新(AJAX)和使用implode。谢谢。

1 个答案:

答案 0 :(得分:1)

在表单中将name="checkall"更改为name="checkall[]"以允许多个值。


请注意,如果未选中任何选项,$_POST['checkall']将被取消定义,这将生成Undefined index通知。使用issetarray_key_exists

如果$deleteid为空(例如array()),则查询将会格式错误,即

DELETE from  `bpo`.`users` (`uid` ,`fname`) WHERE UID IN ()
                                       // unexpected ) -- ^

这会给你一个SQL错误。 IN子句可能不是空的。