2011-07-15 90 views
-1

任何人都可以告訴我的代碼正在發生什麼嗎?我從網上獲得了這個代碼,但它不工作;當我按刪除它不刪除數據庫。你可以幫我嗎?使用phpmysql刪除複選框數據庫

<?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

更新您刪除查詢 $結果= mysql_query($的SQL)或死亡(mysql_error()); –

+0

'$ result = mysql_query($ sql)or die(「這是MYSQL的錯誤信息:」。mysql_error());'< - 在詢問其他人爲什麼你的查詢沒有運行之前需要的代碼 –

+0

echo sql語句,它是正確的嗎? – 2011-07-15 02:35:25

回答

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 
       } 
      } 
     } 
    } 
    ?> 
+0

嗨vineet,我試過你的方法。它首先顯示錯誤,錯誤是在? ,我通過添加<?php.after刪除錯誤,我添加了你所告訴的但它不刪除數據庫 – test