sql >> データベース >  >> RDS >> Mysql

PHPMySQLDelete関数のwhileループ

    レコードを削除することをPHPスクリプトに通知する必要があります。 1つの解決策は、removeRowを呼び出すときに設定される非表示の入力を使用することです。例:

    function removeRow(el) {
        // get the table row
        var row = $(el).parents('tr:first');
    
        // disable the input fields for the row
        $('input', row).attr('disabled', 'disabled');
    
        // rename update_id to delete_id and re-enable the field
        $('input[name="update_id[]"]', row).attr('name', 'delete_id[]').removeAttr('disabled');
    
        // hide the row
        row.hide();
    }
    

    このメソッドは、DOMからテーブル行を削除しなくなりました。ただし、行に含まれる入力フィールドが無効になり、beskrivelse_deleteという名前の非表示の入力が追加されます。 。

    フォームが送信されると、PHPはどのレコードを削除する必要があるかを知ることができるようになります。

    foreach ($_POST['delete_id'] as $deleteId) {
        $deleteId = (int)$deleteId;
        $db->query("DELETE FROM faktura_materialer WHERE id = $deleteId");
    }
    

    更新:phpfiddle を作成しました これには、あなたが学びたいと思うかもしれないいくつかの改善があります。これらのポイントは次のとおりです。

    • JavaScriptが有効になっていない場合の削除のサポート
    • プリペアドステートメント を使用する (add_slashesよりも優先されます )
    • htmlspecialchars を使用して出力をエスケープする
    • 推測を避けるために入力IDを明示的に定義する インクリメンタルカウンターに基づく



    1. 緯度と経度のデータ型はどれですか?

    2. PHP 7 RC3:不足しているMySQLPDOをインストールする方法

    3. MySQL多対多選択

    4. EF Core2.0Identity-ナビゲーションプロパティの追加