从表中删除多个条目

时间:2014-01-06 10:30:01

标签: php

showall.php 首先从数据库中获取所有值, arrayToHtmlTable函数将它们放入表中,我添加了个人  删除和更新每行的按钮,但我想添加复选框以删除多个企业,但无法弄清楚如何完成它

include "arrayToTable.php";
$bd=new sbs();
$sd=new arrayToTable();
$insert=false;
$bd->setDB(luDigi_db::factory());
if(isset($_GET['info'])) {
    if($_GET['info']=="coupon") {
            $r=$bd->execute("create_coupon","*","");
            $page="coupon";
    if(count($r)==0){
            echo "there is no data ";
    } else {
            echo '<input type="submit" name="delete"  value="delete" >';
            print_r($sd->arrayToHtmlTable($r,$page));
            }
    }





 function arrayToHtmlTable($arr,$page) {
       if ($arr > 0) {
        foreach($arr[0] as $t=>$v)
            $colnams[] = $t;
       }
        $r = '';
        $r .=' <table cellpadding="10" border="1" style="width:550px;"><tr>';
        for ($i=0; $i<count($colnams); $i++)  {
            $r .= "<td>$colnams[$i]</td>";
        }     
            $r .= '<td>DELETE</td>';
            $r .=   '<td>UPDATE</td>';
            $r .=   '</tr>';
        for ($i=0; $i<count($arr) ; $i++)  {
            $r .='<tr>';
        for ($ii=0; $ii < count($colnams); $ii++)  {
            $e= serialize($arr[$i][$colnams[$ii]]);
            $j=unserialize($e);
            $r .=   "<td>$j</td>";
        }
            $r .= '<td><form action="del.php" method="get">
            <input type="hidden" name="del" value="'.$arr[$i]['id'].'"> 
            <input type="hidden" name="page" value="'.$page.'"> 
            <input type="submit" value="DELETE" >
            </form></td>';
            $r .=   '<td><form action="update.php" method="get">
            <input type="hidden" name="upd" value="'.$arr[$i]['id'].'"> 
            <input type="hidden" name="page" value="'.$page.'"> 
            <input type="submit" value="UPDATE" >
            </form></td>';
        if($page=="coupon") {
            $r.= '<td><input type="checkbox" name="led[]" value="'.$arr[$i]['id'].'"></td>';
        }
            $r .="</tr>";
        }     
        $r .=   '</table>';
            return $r;
            }

1 个答案:

答案 0 :(得分:0)

将这两个复选框添加到每个表行

<input type="checkbox" name="delete" value="'.$arr[$i]['id'].'">
<input type="checkbox" name="update" value="'.$arr[$i]['id'].'">

提交表单时,您将拥有两个数组$ _POST ['delete']和$ _POST ['update'],它们包含要删除/更新的ID。然后,您所要做的就是遍历这些数组以构造DELETE和UPDATE查询。或者,如果您正在使用预准备语句,请构造两个查询并为每个ID执行它们。