2012-05-08 32 views
0

データベースからデータを正常に抽出できますが、チェックボックスを使用して特定の行を削除することができません。SQL行を削除するチェックボックス/ファイルを削除する

私はここで、以前の記事など、さまざまなチュートリアルの数を使用しているが、それはまだそこにはありません。私は、チェックボックスを作成しますが、削除を処理することができませんしている

<div id="content"> 

    <h1>Post Bulletin</h1> 

    <br /> 

    <form action="insert.php" method="post"> 
     <label for="title">Title</label> 
      <br /> 
     <input type="title" name="title" id="file" required="required" placeholder="Bulletin Title" /> 
     <br /> 
     <br /> 
     <label for="bulletin">Bulletin</label> 
      <br /> 
     <textarea id="bulletin" name="bulletin" id="bulletin" rows="10" cols="50" required="required" placeholder="Bulletin Message"></textarea> 
     <br /> 
     <input type="submit" /> 
    </form> 

    <br/ > 
    <br/ > 

    <h3>Current Bulletin Posts</h3> 

    <?php 

     require('connect.php'); 

     $data = mysql_query("SELECT * FROM bulletins ORDER BY Date_Entered DESC") 
      OR die("Can't access bulletins table. " . "<br />". mysql_error()); 

     while($info = mysql_fetch_array($data)) 
     {        
      Echo "<br />" . "Delete: " . "<input name='checkbox[]' type='checkbox' id='checkbox'/>" . "<br />" . "<br />"; 
      Echo $info['Title'] . "<br />" . "<br />"; 
      Echo $info['Bulletin'] . "<br />" . "<br />"; 
      Echo "Posted at " . $info['Date_Entered'] . "<br />" . "<br />"; 
      Echo "<hr>"; 
     } 
    ?> 

は、ここに私のコードです。

'if isset'ステートメントで十分だろうと思いますか?チェックボックスの配列にどのようにIDを割り当てるのですか?

+0

フォームを送信するコードはどこですか?あなたの ''タグは、それらが含まれていることを確認するためにチェックボックスのリストの後ろにあるべきです。 –

答えて

1

が、これはPHP側に提出されるものである、チェックボックスのvalueとして行IDを使用してください。今

Echo "<br />" . "Delete: " . "<input name='delete[]' type='checkbox' value='" . $info['id'] . "' />" . "<br />" . "<br />"; 

、PHP側では、レコードIDの$_POST['delete']で配列として削除することを受け取ることになります。

また、あなたのチェックボックスがそれらを提出するためのフォーム内に含まれている必要があります。

+0

シンプルなイムネット・ループのチェック・ボックスに沿って削除ボタンが必要ですか? – tagz2712

+0

チェックボックスフォームを送信するには、少なくとも1つの削除/送信ボタンが必要です。 '$ _POST ['delete']'は削除するレコードIDの単純な配列なので、 'Array(4,35,384,99)'のようにループ内に 'isset()'は必要ありません。 numbersは削除する行IDです。 – MrCode

0

まず、チェックボックスをタグに入れる必要があります。

その後、value属性をcheckboxに設定する必要があります。これは、そのチェックボックスの一意のキーとなり、テーブル行の一意のキーになります。

あなたはデータを削除するには、PHPを使用している場合は、あなただけの選択、チェックボックス列を通過し、すべての配列要素(すなわち何もなく、あなたのテーブル固有のキー)のための削除クエリを発射する必要があります。

0

あなたは、データベースからフェッチされたレコードを表示し、その後、ちょうどコードの下に追加することで、選択したすべてのチェックボックスの行を削除することができEXTJSを使用することができます。

function delMethod(index) 
{ 
try{ 
    var rowstoDel=new Array(); 
    var count=0; 
    var recordsToDelete = new Array(); 
    for (var i=0; i <store2.getCount(); i++){ 
    var rec=store2.getAt(i); 
    if (rec.get("MappingGrid")==index){ 
    recordsToDelete[recordsToDelete.length] = rec; 
    rowstoDel[count]=i; 
    count++;  
    } 
    } 
for (var i=0; i <recordsToDelete.length; i++){ 
    store2.remove(recordsToDelete[i]); 
    } 
for (var j=rowstoDel.length-1;j>=0;j=j-1) 
{ 
myData2.splice(rowstoDel[j],1); 
} 
}catch(e){alert("unable to delete")} 
}