PHP & Ajax : Delete Database Data without refreshing the page

geeko

Well-known member
  • Mar 18, 2013
    7,409
    4,413
    113
    https://www.sourcecodester.com/tutorials/php/10866/delete-data-without-refreshing-page.html

    MySQL table එකක තියෙන row එකක් පේජ් එක refresh වෙන්නෙ නැතුව delete කරගන්න ඕනේ. උඩ ලින්ක් එකේ තියෙන එකේ විදිහට කලේ. පේජ් එකේ තියෙන table එකෙන් delete වෙනවා. ඒත් database එකෙන් delete වෙන්නේ නෑ. මොකද්ද අවුල
     

    @media

    Well-known member
  • May 21, 2011
    1,234
    383
    83
    back end ekata request eka yanne na. Browser developer tools open karala balanna javascript error ekak athi mokakhari. network tab eke balanna xhr request eka wadinawada kiyala.
     

    geeko

    Well-known member
  • Mar 18, 2013
    7,409
    4,413
    113
    Change
    $delete_data"delete from tbl_member where tbl_member_id = '$id' "

    To

    $delete_data = "delete from tbl_member where tbl_member_id = '$id'";
    meka karala thiyenne

    php part eka check karanna

    page eke tiyena eka delete wenne javascript walin
    ------ Post added on Nov 1, 2021 at 7:43 PM
    GET method eka wada karanne url ekata parameter eka yannama one neda machan

    <?php
    include ('database.php');

    $id = $_GET['id'];
    $delete_data"delete from tbl_member where tbl_member_id = '$id' ";
    $database->exec($delete_data);
    ?>
    ------ Post added on Nov 1, 2021 at 11:40 PM

    bump
    db ekata request eka enawada balanna
    endpoint ekata ena date check karala balanna
    Get method eke wada karanne url eke parameter eka thibboth witharada ?
    ------ Post added on Nov 1, 2021 at 11:59 PM

    back end ekata request eka yanne na. Browser developer tools open karala balanna javascript error ekak athi mokakhari. network tab eke balanna xhr request eka wadinawada kiyala.
    console eke meka pennanne machan

    [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
    ------ Post added on Nov 2, 2021 at 12:02 AM
     
    Last edited:

    Lakshan-Seram

    Well-known member
  • May 31, 2011
    24,714
    12,619
    113
    127.0.0.1:8080/Kandy
    meka karala thiyenne


    GET method eka wada karanne url ekata parameter eka yannama one neda machan

    <?php
    include ('database.php');

    $id = $_GET['id'];
    $delete_data"delete from tbl_member where tbl_member_id = '$id' ";
    $database->exec($delete_data);
    ?>
    ------ Post added on Nov 1, 2021 at 11:40 PM


    Get method eke wada karanne url eke parameter eka thibboth witharada ?
    ------ Post added on Nov 1, 2021 at 11:59 PM


    console eke meka pennanne machan

    [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
    ------ Post added on Nov 2, 2021 at 12:02 AM
    url ekata parameters yanne na

    Oya code eke = kella adui eka hadala inna

    url ekata parameters yanne na ajax walin. Network requests walin balanna one eka
    ------ Post added on Nov 2, 2021 at 5:34 AM
     

    Chandi_Bandi

    Well-known member
  • May 28, 2016
    264
    277
    63
    oya ajax ekakin function ekakatane call karanne. mulin function ekata echo ekak dala balanna eka wada kranawada kiyala.

    $(".delete-product").click(function() {
    var dataId = $(this).data("id");

    $.ajax({
    url: 'function.php',
    data: {
    action: 'delete_quatation_products',
    pId: dataId
    },
    type: 'post',
    success: function(output) {
    alert(output);

    }
    });

    });
     

    geeko

    Well-known member
  • Mar 18, 2013
    7,409
    4,413
    113
    oya ajax ekakin function ekakatane call karanne. mulin function ekata echo ekak dala balanna eka wada kranawada kiyala.

    $(".delete-product").click(function() {
    var dataId = $(this).data("id");

    $.ajax({
    url: 'function.php',
    data: {
    action: 'delete_quatation_products',
    pId: dataId
    },
    type: 'post',
    success: function(output) {
    alert(output);

    }
    });

    });
    echo eka pennanawa
     

    Lakshan-Seram

    Well-known member
  • May 31, 2011
    24,714
    12,619
    113
    127.0.0.1:8080/Kandy
    server ekaka neda run karanne?

    Ube ajax method eka post

    But ube php wala get

    Try $_REQUEST

    And ube ajax parameter eka pid and php wala id
    ------ Post added on Nov 2, 2021 at 9:04 AM
     

    Honey Bunch

    Well-known member
  • Nov 24, 2018
    16,973
    26,386
    113
    Kandy
    meka karala thiyenne


    GET method eka wada karanne url ekata parameter eka yannama one neda machan

    <?php
    include ('database.php');

    $id = $_GET['id'];
    $delete_data"delete from tbl_member where tbl_member_id = '$id' ";
    $database->exec($delete_data);
    ?>
    ------ Post added on Nov 1, 2021 at 11:40 PM


    Get method eke wada karanne url eke parameter eka thibboth witharada ?
    ------ Post added on Nov 1, 2021 at 11:59 PM


    console eke meka pennanne machan

    [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
    ------ Post added on Nov 2, 2021 at 12:02 AM
    delete method eken neda yawanne
     

    geeko

    Well-known member
  • Mar 18, 2013
    7,409
    4,413
    113
    Full code eka danna html css, php

    Users.php

    PHP:
    <?php include('header.php') ?>
    <body>
       <div class="row-fluid">
       <div class="span12">
       <div class="container">
       <br><br>
       <h3 style="text-align:center;">
          Users
       </h3>
    
    <table class="table table-striped table-bordered" id="example">
       <thead>
          <tr>
             <th>Name</th>
             <th>E-mail</th>
             <th>Phone No</th>
             <th>Action</th>
          </tr>
       </thead>
       <tbody>
          <?php
             $result = $database->prepare ("SELECT * FROM users");
             $result ->execute();
             for ($count=0; $row_member = $result ->fetch(); $count++){
             $id = $row_member['id'];
             ?>
          <tr class="delete_mem<?php echo $id ?>">
             <td><?php echo $row_member['first_name']; ?></td>
             <td><?php echo $row_member['email']; ?></td>
             <td><?php echo $row_member['phone_no']; ?></td>
             <td width="80">
                <a class="btn btn-success" id="<?php echo $id; ?>">Delete</a>
             </td>
          </tr>
          <?php } ?>
       </tbody>
    </table>
    
        </div>
        </div>
        </div>
    
    <script type="text/javascript">
        $(document).ready(function() {
            $('.btn-success').click(function() {
                var id = $(this).attr("id");
                if (confirm("Are you sure you want to delete this Member?")) {
                    $.ajax({
                        type: "POST",
                        url: "delete_member.php",
                        data: ({
                            id: id
                        }),
                        cache: false,
                        success: function(html) {
                            $(".delete_mem" + id).fadeOut('slow');
                        }
                    });
                } else {
                    return false;
                }
            });
        });
    </script>
    
    </body>
    </html>


    delete_member.php

    Code:
    <?php
    include ('database.php');
    
    $id = $_GET['id'];
    $delete_data="delete users where id = '$id' ";
    $database->exec($delete_data);
    ?>


    header.php

    Code:
    <!DOCTYPE html>
    <html lang="en">
       <head>
          
          <link href="css/bootstrap.css" rel="stylesheet" type="text/css" media="screen">
          <link rel="stylesheet" type="text/css" href="css/DT_bootstrap.css">
       </head>
       <script src="js/jquery.js" type="text/javascript"></script>
       <script src="js/bootstrap.js" type="text/javascript"></script>
       <script type="text/javascript" charset="utf-8" language="javascript" src="js/jquery.dataTables.js"></script>
       <script type="text/javascript" charset="utf-8" language="javascript" src="js/DT_bootstrap.js"></script>
       <?php include('database.php'); ?>
     

    Lakshan-Seram

    Well-known member
  • May 31, 2011
    24,714
    12,619
    113
    127.0.0.1:8080/Kandy
    Users.php

    PHP:
    <?php include('header.php') ?>
    <body>
       <div class="row-fluid">
       <div class="span12">
       <div class="container">
       <br><br>
       <h3 style="text-align:center;">
          Users
       </h3>
    
    <table class="table table-striped table-bordered" id="example">
       <thead>
          <tr>
             <th>Name</th>
             <th>E-mail</th>
             <th>Phone No</th>
             <th>Action</th>
          </tr>
       </thead>
       <tbody>
          <?php
             $result = $database->prepare ("SELECT * FROM users");
             $result ->execute();
             for ($count=0; $row_member = $result ->fetch(); $count++){
             $id = $row_member['id'];
             ?>
          <tr class="delete_mem<?php echo $id ?>">
             <td><?php echo $row_member['first_name']; ?></td>
             <td><?php echo $row_member['email']; ?></td>
             <td><?php echo $row_member['phone_no']; ?></td>
             <td width="80">
                <a class="btn btn-success" id="<?php echo $id; ?>">Delete</a>
             </td>
          </tr>
          <?php } ?>
       </tbody>
    </table>
    
        </div>
        </div>
        </div>
    
    <script type="text/javascript">
        $(document).ready(function() {
            $('.btn-success').click(function() {
                var id = $(this).attr("id");
                if (confirm("Are you sure you want to delete this Member?")) {
                    $.ajax({
                        type: "POST",
                        url: "delete_member.php",
                        data: ({
                            id: id
                        }),
                        cache: false,
                        success: function(html) {
                            $(".delete_mem" + id).fadeOut('slow');
                        }
                    });
                } else {
                    return false;
                }
            });
        });
    </script>
    
    </body>
    </html>


    delete_member.php

    Code:
    <?php
    include ('database.php');
    
    $id = $_GET['id'];
    $delete_data="delete users where id = '$id' ";
    $database->exec($delete_data);
    ?>


    header.php

    Code:
    <!DOCTYPE html>
    <html lang="en">
       <head>
        
          <link href="css/bootstrap.css" rel="stylesheet" type="text/css" media="screen">
          <link rel="stylesheet" type="text/css" href="css/DT_bootstrap.css">
       </head>
       <script src="js/jquery.js" type="text/javascript"></script>
       <script src="js/bootstrap.js" type="text/javascript"></script>
       <script type="text/javascript" charset="utf-8" language="javascript" src="js/jquery.dataTables.js"></script>
       <script type="text/javascript" charset="utf-8" language="javascript" src="js/DT_bootstrap.js"></script>
       <?php include('database.php'); ?>
    DELETE FROM users
     
    • Like
    Reactions: Chandi_Bandi

    geeko

    Well-known member
  • Mar 18, 2013
    7,409
    4,413
    113
    server ekaka neda run karanne?

    Ube ajax method eka post

    But ube php wala get

    Try $_REQUEST

    And ube ajax parameter eka pid and php wala id
    ------ Post added on Nov 2, 2021 at 9:04 AM
    Ow server eke. man code ekama evva. database.php eka evve na. eka hari. frontend eke table eka pennanawane.