php
  • jquery
  • ajax
  • checkbox
  • 2014-04-25 282 views 0 likes 
    0

    我很难创建一个复选框ajax删除。我是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(使用破灭的)

    $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。谢谢。

    +0

    你不能有多个同名的复选框 – Dinistro

    回答

    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子句可能不为空。

    相关问题