Search code examples
javascriptphpmysqlajaxmysqli

Update Database from Javascript onClick By Ajax PHP


Hi i want to update id row when a user click the button below please help and sorry for my bad english

index.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>

<body>

<a href="javascript:void(0)" onClick="updateId('1')">Id 1</a>
<a href="javascript:void(0)" onClick="updateId('2')">Id 2</a>
<a href="javascript:void(0)" onClick="updateId('3')">Id 3</a>

</body>
</html>

update.php

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

$update = "UPDATE id SET id = id + 1 WHERE id = updateId";

if (mysqli_query($connect, $update)) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . mysqli_error($connect);
}
?>

Solution

  • In your index.php file

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    </head>
    <body>
    
    <a href="javascript:void(0)" onClick="updateId('1')">Id 1</a>
    <a href="javascript:void(0)" onClick="updateId('2')">Id 2</a>
    <a href="javascript:void(0)" onClick="updateId('3')">Id 3</a>
    
    </body>
    </html>
    
    <script>
    function updateId(id)
    {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
            {
                alert(xmlhttp.responseText);
            }
        };
        xmlhttp.open("GET", "update.php?id=" +id, true);
        xmlhttp.send();
    }
    </script>
    

    And in your update.php

    <?php 
    if(!empty($_GET['id']))
    {
        $id = $_GET['id'];
        include('database_connection.php');
        
        $update = "UPDATE id SET id = id + 1 WHERE id = ?";
        
        $connect->execute_query($update, [$id]);
    }