通过 Ajax PHP 从 Javascript onClick 更新数据库

Posted

技术标签:

【中文标题】通过 Ajax PHP 从 Javascript onClick 更新数据库【英文标题】:Update Database from Javascript onClick By Ajax PHP 【发布时间】:2016-08-10 00:28:41 【问题描述】:

您好,当用户单击下面的按钮时,我想更新 id 行,请帮助并为我的英语不好表示抱歉

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>

更新.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);

?>

【问题讨论】:

您需要查看 ajax javascript 调用(为简单起见查看 jquery)和在 php 中读取数据的方法(查看 $_GET[''] 或 $_POST[''])跨度> 您已确定需要使用 JavaScript / Ajax,但问题中没有 JavaScript。从寻找 Ajax 入门教程开始。 【参考方案1】:

在你的 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>

<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>

在你的 update.php 中

<?php 
if(isset($_GET['id']) && !empty($_GET['id']))

    $id = $_GET['id'];
    include('database_connection.php');

    $update = "UPDATE id SET id = id + 1 WHERE id = '".$id."'";

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

?>

【讨论】:

@Doraemon 欢迎亲爱的,很高兴为您提供帮助...如果对您有帮助,请投票给我的答案... 每当它更新 id 时我有一个问题,它会发出警报。我怎么能阻止这个。 在 ajax 调用中删除此行 alert(xmlhttp.responseText);...,这是对您的 ajax 调用响应的警报..

以上是关于通过 Ajax PHP 从 Javascript onClick 更新数据库的主要内容,如果未能解决你的问题,请参考以下文章

通过 ajax 将 Javascript 变量传递给 PHP

使用ajax调用从javascript保存txt文件到PHP

将数据从 javascript forEach 循环中的 php 数组发送到 ajax 调用的 url

如何在javascript中将数组从php返回到ajax响应

通过 PHP -> Javascript -> AJAX - 选项传递变量?

AJAX 未将用户输入从表单发送到 PHP 脚本