Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

चेकबॉक्स द्वारा डेटाबेस से कई पंक्तियों को हटाना

जावास्क्रिप्ट
चूंकि आप jQuery का उपयोग कर रहे हैं, इसलिए बेहतर तरीका है :)

<script type="text/javascript">
  var is_activate = true; // we will track which input button was clicked :)

  jQuery(function($) {
    $("#form input#check_all").change(function() {
      var inputs  = $("#form input[type='checkbox']");
      if ( $(this).is(":checked") ) {
        inputs.prop( "checked", true );
        // inputs.attr( "checked", true ); // if its not working
      }
      else {
        inputs.removeAttr( "checked" );
      }
    });

    // Track clicked button
    $("#form input[type=submit]").on("click",function(e) {
      is_activate = ( $(this).hasClass("activate_btn") ) ? true : false;
    });

    $("#form").submit(function(e) {
      e.preventDefault();
      var string  = ( is_activate ) ? 'activate' : 'delete';
      var data    = $(this).serialize();
      var checked = $(this).find("input[name='data[]']:checked").length;
      if ( checked == 0 ) {
        alert( "Please select a comment(s) to "+string+"." );
        return false;
      }
      var text  = "Are you sure you want to "+string+" these comment"+( ( checked == 1 ) ? "?" : "s?" );
      if ( confirm( text ) ) {
        $.ajax({
          url: 'resources/ajax/'+( ( is_activate ) ? 'ajax_activate_comment.php' : 'ajax_delete_comment.php' ),
          type: 'post',
          data: data,
          success: function( data ) {

          }
        });
      }
    });
}); 
</script>

एचटीएमएल

<form method="post" id="form">
  <label>Check All</label>
  <input type="checkbox" id="check_all" value="">

  <label>Here im displaying record from database and</label>
  <input name="data[]" type="checkbox" id="data1" value="1">
  <input name="data[]" type="checkbox" id="data2" value="2">

  <!-- Activate Button -->
  <input class="activate_btn" type="submit" name="activate" value="Activate" id="submit">
  <!-- Delete Button -->
  <input class="delete_btn" type="submit" name="delete" value="Delete" id="submit">
</form>

PHP
एक ही सवाल काफी है :)

<?php
  if ( isset( $_POST['data'] ) ) {
    $id_array = $_POST['data'];
    if ( !empty( $id_array ) ) {
      $id_array = implode( ",", $_POST['data'] ); // dont forget to sanitize
      $sql = $db->query( "DELETE FROM comments WHERE `id` IN (".$id_array.")" );
    }
  }
?>

और याद रखें, यह सब क्लाइंट साइड में करना अच्छा नहीं है।
आप POST कर सकते हैं एक फ़ाइल के लिए अनुरोध करें, क्योंकि आपका प्रत्येक input बटन का एक विशिष्ट नाम होता है।
तो आपके PHP . में कोड, आप पा सकते हैं कि कौन सा बटन इस तरह क्लिक किया गया था।

<?php
  if ( isset( $_POST["activate"] ) ) {
    $sql  = $db->query( "UPDATE comments SET status = '1' WHERE `id` IN (".$id_array.")" );
  }
  else {
    $sql  = $db->query( "DELETE FROM comments WHERE `id` IN (".$id_array.")" );
  }
?>

देखो कितना आसान है :) है ना?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MacOS MySQL सर्वर प्रारंभ नहीं कर सकता

  2. यूआरएल में सही डेटाबेस ऑब्जेक्ट आईडी छुपा रहा है

  3. MySQL डेटाबेस से छवियों को कैसे पुनर्प्राप्त करें और एक HTML टैग में प्रदर्शित करें

  4. LAST_DAY () उदाहरण – MySQL

  5. कुंजी-> मूल्य डेटा के लिए कुछ अच्छे, तेज़ स्थायी संग्रहण विकल्प क्या हैं?