使用php mysql删除复选框数据库

时间:2011-07-15 02:28:21

标签: php mysql sql-delete

任何人都可以告诉我的代码发生了什么吗?我从网上获得了这个代码,但它不起作用;当我按删除它不删除数据库。你能救我吗?

 <?php
   $host="localhost"; // Host name
   $username="root"; // Mysql username
   $password=""; // Mysql password
   $db_name="comment";
   $tbl_name="members";
   mysql_connect($host, $username, $password)or die("cannot connect");
   mysql_select_db($db_name)or die("cannot select DB");
   $sql="SELECT * FROM $tbl_name";
   $result=mysql_query($sql);
   $count=mysql_num_rows($result);
   ?>
   <table width="400" border="0" cellspacing="1" cellpadding="0">
   <tr><td><form name="form1" method="post" action="">
   <table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC"><tr>
   <td bgcolor="#FFFFFF">&nbsp;</td>
   <td colspan="4" bgcolor="#FFFFFF"><strong>Delete multiple rows in mysql</strong>       </td></tr>
   <tr><td align="center" bgcolor="#FFFFFF">#</td>
  <td align="center" bgcolor="#FFFFFF"><strong>Id</strong></td>
   <  td align="center" bgcolor="#FFFFFF"><strong>Name</strong></td>
  <td align="center" bgcolor="#FFFFFF"><strong>Lastname</strong></td>
  <td align="center" bgcolor="#FFFFFF"><strong>Email</strong></td></tr>
  <?php while($rows=mysql_fetch_array($result, MYSQL_ASSOC)){ ?>


  <tr><td align="center" bgcolor="#FFFFFF">
  <input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['id'];   ?>">
  </td><td bgcolor="#FFFFFF"><?php echo $rows['id']; ?></td><td bgcolor="#FFFFFF">
  <?php echo $rows['firstname']; ?></td><td bgcolor="#FFFFFF"><?php echo     $rows['lastname']; ?></td>
  <td bgcolor="#FFFFFF"><?php echo $rows['passwd']; ?>
  </td></tr>
  <?php } ?>
  <tr><td colspan="5" align="center" bgcolor="#FFFFFF">
  <input name="delete" type="submit" id="delete" value="Delete"></td></tr>
  </table></form></td></tr></table>

<?php

    $checkbox = $_POST['checkbox'];
   $delete = $_POST['delete'];

   if(isset($delete)){
   for($i=0;$i<$count;$i++){
   $del_id = $checkbox[$i];

   $sql = "DELETE FROM $tbl_name WHERE id='$del_id'";
   $result = mysql_query($sql);
   }
  if($result){echo "<meta http-equiv=\"refresh\" content=\"0;URL=delete.php\">";}}

   mysql_close();

   ?>

1 个答案:

答案 0 :(得分:0)

请更正表单操作以使用代码

    <?php
   $host="localhost"; // Host name
   $username="root"; // Mysql username
   $password=""; // Mysql password
   $db_name="comment";
   $tbl_name="members";
   mysql_connect($host, $username, $password)or die("cannot connect");
   mysql_select_db($db_name)or die("cannot select DB");
   $sql="SELECT * FROM $tbl_name";
   $result=mysql_query($sql);
   $count=mysql_num_rows($result);
   ?>

    <table width="400" border="0" cellspacing="1" cellpadding="0">
        <tr>
            <td>
                <form name="form1" method="post" action="<? $_SERVER["PHP_SELF"]; ?>">
                    <table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
                        <tr>
                            <td bgcolor="#FFFFFF">&nbsp;</td>
                            <td colspan="4" bgcolor="#FFFFFF">
                                <strong>Delete multiple rows in mysql</strong>
                            </td>
                        </tr>
                        <tr>
                            <td align="center" bgcolor="#FFFFFF">#</td>
                            <td align="center" bgcolor="#FFFFFF">
                                <strong>Id</strong>
                            </td>
                            <td align="center" bgcolor="#FFFFFF">
                                <strong>Name</strong>
                            </td>
                            <td align="center" bgcolor="#FFFFFF">
                                <strong>Lastname</strong>
                            </td>
                            <td align="center" bgcolor="#FFFFFF">
                                <strong>Email</strong>
                            </td>
                        </tr>
                        <?php while($rows=mysql_fetch_array($result, MYSQL_ASSOC)){ ?>
                        <tr>
                            <td align="center" bgcolor="#FFFFFF">
                                <input name="checkbox[<? echo $rows['id']; ?>]" type="checkbox" value="<? echo $rows['id'];   ?>">
                            </td>
                            <td bgcolor="#FFFFFF">
                                <?php echo $rows['id']; ?>
                            </td>
                            <td bgcolor="#FFFFFF">
                                <?php echo $rows['firstname']; ?>
                            </td>
                            <td bgcolor="#FFFFFF">
                                <?php echo $rows['lastname']; ?>
                            </td>
                            <td bgcolor="#FFFFFF">
                                <?php echo $rows['passwd']; ?>
                            </td>
                        </tr>
                        <?php } ?>
                        <tr>
                            <td colspan="5" align="center" bgcolor="#FFFFFF">
                                <input name="delete" type="submit" id="delete" value="Delete">
                            </td>
                        </tr>
                    </table>
                </form>
            </td>
        </tr>
    </table>

<?php

    $delete = $_POST['delete'];
    if(isset($delete)){
        $t = $_POST;
        foreach($t as $param){
            $t1 = $param;
            if(is_array($t1)){
                foreach($t1 as $param2){
                    echo $param2;
                    echo "<br>";
                    //Here execute delete query
                }
            }
        }
    }
  ?>