1

私はPHPが初めてです。したがって、私がばかげた戦略を使用している場合は、最初に謝罪します。私はPHPサイトに取り組んでいます。私のページはMySqlからデータを照会し、チェックボックスとともにhtmlテーブルに表示します。ユーザーは、チェック ボックスとボタンを使用して任意のデータを削除できます。これはすべて JavaScript を使用して行われます。これがhtmlテーブルからデータを削除する私のコードです

<script type="text/javascript">
function deleteRow() {
        try {
            var table = document.getElementById("Categories");
        var rowCount = table.rows.length;



        for(var i=0; i<rowCount; i++) {
            var row = table.rows[i];
            var chkbox = row.cells[0].childNodes[0];
            if(null != chkbox && true == chkbox.checked) {
                table.deleteRow(i);
                rowCount--;
                i--;
            }


        }
        }catch(e) {
            alert(e);
        }
    }

</script>

[保存] ボタンをクリックすると、MySql 更新クエリが実行され、ページに加えられたすべての変更が保存されます。これはPHPで実行できることを知っています。しかし、ここでの問題は、php で html からデータを取得してクエリを実行する方法です?? 誰かが私を正しい方向に向けることができれば、私はあなたに感謝します.

ありがとう。

4

1 に答える 1

2

次のようなチェックボックスがあるフォームを作成できます<input type="checkbox" name="m_Name[]" value="id_of_element">。サーバー側でこのフォームを送信すると、次のことができます。

foreach ($_POST['m_Name'] as $id){
    $query = 'DELETE FROM table WHERE id='.$id;
    //execute query with mysqli_*, PDO or mysql_*; NOTE: if you are not doing educational project don't use last one.
}

しかし、より良いアプローチは次のとおりです。

$query = 'DELETE FROM table WHERE id IN (';
$in = '';

foreach ($_POST['m_Name'] as $id)
    $in .= $id.',';

$in = substr($in, 0, strlen($in)-1).')'; // removes extra "," at the end.
$query .= $in;
//run the query.

最後の 1 つはメモを削除するクエリを 1 つだけ実行するため、パフォーマンスが向上します。しかし、私がクエリを作成した方法は私には醜いように思えますが、改善について話すのはとても疲れています. :)

于 2012-07-06T11:31:56.707 に答える