2013-07-25 45 views
0

其實我對php很新。我有一個任務,選中數據庫中的記錄作爲複選框。當我取消一個複選框,它應該從我的數據庫中刪除該特定的記錄..如果取消選中我的SQL表中的複選框刪除行

我的代碼是

<?php 
    if(isset($_POST['delete'])) 
     { 
     $test=$_POST['test']; 

      $qun1=$_POST['question1']; 
     //DB connection 
      $CON=mysql_connect("localhost","root",""); 
      mysql_select_db("Dbname"); 


     if($qun1!=0 && $test!=0) 
      { 
       foreach($qun1 as $qunestion) 
      { 
       echo $question; //this is for testing 

       $query=mysql_query("delete from test_question where test_questions_id='$test' AND question_id IN ('$question') ") or die(mysql_error()); 
      } 

     if($query) 
     { 
      echo "success"; 
     } 
     else 
     { 
     echo "No"; 

     } 

    } 
} 

?> 

我的代碼工作正常,但如果我在IT地方不使用不工作..why ..如果不加以制止它應該是delete..i已經從數據庫中檢索記錄作爲託運領域中的記錄..

我的HTML標記:

 <script> 
     function fun2(ts) 
     { 
     $.post("ajax2.php",{qs:ts},function(data) 
     { 
      document.getElementById('div1').innerHTML=data 
      }) 

     } 
    </script> 
    <form action="somepage.php" method="post"> 
    //dynamic selection test code 
    <select name="test" id="test" onChange="fun2(this.value);">  
    <option value="">Select Test</option> </select> 
     <div id="div1" > </div> 
    <input type="submit" name="delete" value="Delete" > 
    </from> 

我的Ajax代碼:

 <?php 

     $qs=$_REQUEST['qs']; 

     mysql_connect("localhost","root",""); 
     mysql_select_db("advancedge"); 

     $sql=mysql_query("select question_id from test_question where test_questions_id='$qs'"); 

    if($sql) 
     { 
     while($rec=mysql_fetch_row($sql)) 
     { 
     echo "<input type='checkbox' name='question1[]' value='$rec[0]' checked='checked' >"; 



     } 
    } 
    ?> 
+0

什麼是您的HTML代碼? –

+2

實際行爲是什麼?另外,'foreach($ qun1 as $ qun1)'很混亂。 – bmurauer

+1

我會建議保留在表單提交刪除,你不應該在這樣一個急於刪除的東西:) –

回答

0

如果我理解正確,只要該項未選中就想刪除?要檢查複選框是否未選中,您必須使用javascript。 PHP運行在服務器上,而不是客戶端(你可以使用ajax,但我會建議不要這樣做)。

我建議你在表單提交時刪除任何你想要的東西,如果你不知道如何去做,我可以告訴你,如果你發佈html部分。

我也建議你從互聯網上的課程學習PHP,所以你知道一些標準,並得到一些良好的做法。 (YouTube或Lynda.com)

+0

是的,我知道,但是您是否希望點擊表單提交按鈕? –

+0

yes.if我取消選中複選框並單擊保存按鈕它應該從數據庫中刪除 – sucharitha

+0

坦率地說,我認爲你真的需要首先從課程中學習php。這是非常糟糕的代碼。 –

0

這是一個古老的職位,但如果有人在這裏結束 - 這可能解決問題:

<?php 
    echo "<form action='' method='post'>"; 

    echo "<input type='checkbox' id='chk_1' name='chk_1' value='First' />chk 1 </br>"; 
    echo "<input type='checkbox' id='chk_2' name='chk_2' value='Second' />chk 2 </br>"; 

    echo "<input type='submit' />"; 
    echo "</form>"; 

    $check = array(); 

    // Set all checkboxes to 0 if unchecked 
    for($i = 1; $i<=2; $i++) { 
     $check["chk_$i"] = isset($_POST["chk_$i"]) ? 1 : 0; 
    } 

    // Output of the array 
    echo '<pre>'; 
    var_export($check);   
    echo '</pre>'; 

的代碼將會把所有選中的複選框爲0 然後你必須照顧使用這樣的事情:

<?php 
    if($_GET['chk_1'] == 0) { 
    $sql = "DELETE FROM mytable WHERE..."; 
    } 
相關問題