一尘不染

通过PHP帮助的jQuery / Ajax SQL实时更新

sql

我有一个表,通过数据库中的while循环输出所有联系人。

我的语法是这样的:

SELECT * FROM contacts WHERE id = $_SESSION['user_id'] ORDER BY name ASC LIMIT 5

那会拉出我所有的数据,只给我5个结果。

现在我的目标是要有一个小按钮,打开一个带有jquery的模型框(我可以自己管理),并带有一个表单,要求用户输入一个数字,然后将该数字通过邮寄发送或转到$
PHP_SELF,然后使用用户输入的数字更新本地变量,然后将使用该变量来更新数据库以增加或减少LIMIT值。

我已经遍及整个网络(使用Google)来寻找使用AJAX提交表单的方法,但是我发现的所有示例都不适合我。

当用户提交数字时,将针对输出的表执行sql查询并对其进行更新,以根据新的LIMIT值动态更新所有内容,而无需刷新页面给用户。

我的jQuery代码是:

(document).ready(function(){
   $("form#form").submit(function() {
   // we want to store the values from the form input box, then send via ajax below
      var val = $('input[name=new_value]').attr('value');
      $.ajax({
          type: "post",
          url: "process.php",
          data: "val="+ val,
          cache: false,
          success: function(){
             $('form#form').hide(function(){$('.success').fadeIn();});
          }
      });
      return false;
   });
});

$(document).ready(function(){ $("form#form").submit(function() {
   // we want to store the values from the form input box, then send via ajax below
   var val =    $('input[name=new_value]').attr('value');
   $.ajax({ type: "post", url: "process.php", data: "val="+ val, cache: false, success:   
   function(){
      $('form#form').hide(function(){$('.success').fadeIn();});
   } }); return false; }); });

那么我的php代码是:

$new_val = $_POST['new_val'];
$_val = "UPDATE `settings` SET `display_limit` = {$new_val} WHERE `user_id` = {$_SESSION['user_id']}";
mysql_query($_val) or die(mysql_error());

我的表格很简单:

有什么建议?我还没有介绍如何动态更新输出的表,因此,如果有人可以向我指出正确的方向或提供一些很棒的帮助。

谢谢

编辑:

这是我正在使用的更新的jquery脚本,我能够成功提交表单!但我唯一的问题是,我无法看到的变化,直到页面与连败刷新了AJAX使用的目的… 叹息

现在如何通过表单提交内容更新和刷新我的#results div?

$(document).ready(function() { 
    var options = {
        url: 'process.php',
        type: 'post',
        //dataType:  'json',
        target: '#last_five_sellers',
        success: success
    };

    // bind to the form's submit event 
    $('#form').submit(function() { 
        // inside event callbacks 'this' is the DOM element so we first 
        // wrap it in a jQuery object and then invoke ajaxSubmit 
        $(this).ajaxSubmit(options); 
        // !!! Important !!! 
        // always return false to prevent standard browser submit and page navigation 
        return false; 
    });
    function success(responseText, $form) {
        $("form#form").hide();
        $(".success").fadeIn();
    }
});

阅读 172

收藏
2021-05-16

共1个答案

一尘不染

在您执行更新的php代码中,您可以用html格式回显您的联系人。然后,这将返回到您在jquery中的成功函数。

success: function(){
    $('form#form').hide(function(){$('.success').fadeIn();});
}

该函数具有参数数据,这是您在php中回显的html格式。例子

success: function(data){
    $('form#form').hide(function(){$('.success').fadeIn();});
    $(data).appendTo('#result');
}
2021-05-16