使用AJAX点击执行简单的mysqli查询

Execute simple mysqli query on click with AJAX

本文关键字:mysqli 查询 简单 执行 AJAX 使用      更新时间:2023-09-26

我的AJAX/Java知识非常有限,所以这听起来可能是一个愚蠢而简单的问题,但我来了。

在点击php页面上的链接后,我试图执行一个非常简单的单行mysqli查询。这个查询必须在后台执行,所以不需要重新加载页面,所以我需要AJAX来完成。

编辑:这是我现在拥有的代码。

带有我的查询的PHP页面(notes_checked.PHP):

if ($user_ok == true) {
        mysqli_query($db_conx, "UPDATE users SET notescheck=now() WHERE username='$log_username' LIMIT 1");} 
 else {
    exit();
}

单击时执行的Javascript函数:

<script>
function notesChecked() {
  document.getElementById("notbadge").style.background = "#B0B0B0";
  document.getElementById("notbadge").innerHTML = "0";
  $.ajax({
    type: "POST",
    url: 'php_includes/notes_checked.php',
    data: data,//post data
    success: function()
    {
     alert("You just checked your notes!");
    }
});
}

</script>

我主页上的链接:

<a onclick="notesChecked()">Checked</a>

因此,这个脚本将计数器设置回0,并在用户单击时更改跨度的背景色。现在我必须执行mysqli查询,以便在用户刷新页面或稍后返回时,这个数字保持为0。

有谁能告诉我是否有简单的方法吗?谢谢

您必须为要执行的mysql查询创建另一个php文件(例如:-yourquery.php),该文件将在后台执行。

然后对文件进行AJAX调用:

$.ajax({
  type: "POST",
  url: "yourquery.php",
  success: function(response) {
     // show response for success
   }
});

基本上,您可以编写:

HTML

<button class="i-like-trains">DO YOU LIKE TRAINS?</button>

JS-

$(document).ready(function(){
  $('.i-like-trains').on('click', function(){
    var name = 'BOB';
    $.ajax({
        type: "POST",
        url: 'myphpdoc.php',
        data: { 'name' : name },
        success: function()
        {
          alert(msg); // alerts the response from myphpdoc.php
        }
    });
  });
});

MYPHPDOC.PHP

<?php
    // create $db_connection //
    $name = $_POST['name']; // post variable has the same name as in the ajax data array
    mysqli_query($db_connection, "UPDATE users SET notescheck = now() WHERE username='$log_username' LIMIT 1");
    echo 'YES, YOU LIKE TRAINS TOO <3'; // example response
?>

希望我能帮上忙:-)

$(document).ready(function() {
   $('#buttionid').click(function(){
     postajax();
   });
});
function postajax()
{
//When the button is clicked do this
$.ajax({
    type: "POST",
    url: 'yourlinktomysql.php',
    data: data,//post data
    success: function()
    {
     //do something if the ajax-action is a success
    }
});
}