用Ajax运行PHP Query以模态返回数据

时间:2014-09-09 15:43:43

标签: javascript php jquery ajax

这是我第一次尝试使用ajax。我看过谷歌,似乎无法找到答案。我甚至不确定我想做什么是可能的。

我正在尝试使用mysql表中的数据填充模态窗口。

使用下面的javascript,我能够在HREF点击的模态窗口中打印DATA-ID:

 <script type="text/javascript">
   $(document).on("click", ".open-RestrictModal", function () {
     var myId = $(this).data('id');
     $(".modal-body #Id").val( myId );
 });
 </script>

我想在此代码中添加能够运行PHP / MySQL查询,获取结果,并在模态窗口中打印它。

我想我必须使用AJAX,但我不确定。如何向现有代码添加将javascript变量发送到AJAX页面并在模态窗口中返回结果的能力?

请帮忙。

1 个答案:

答案 0 :(得分:0)

在这里看起来你甚至没有使用ajax,假设你正在使用jQuery库你可以建立这样的调用:

function some_ajax_call(your_param) {

     $.ajax({

         type: "POST",     // We want to use POST when we request our PHP file
         url : "some/url/to/your/file.php",
         data : { query : your_param },    // passing an array to the PHP file with the param,  value you passed, this could just be a single value i.e. data: your_param
         cache: false,       // disable the cache optional

         // Success callback if the PHP executed  
         success: function(data) {
              // do somethig - i.e. update your modal with the returned data object
              $('.modal-body #id').val(data);    
         }

     });

}

然后,您可以编写file.php文件来处理查询

<?php

// Capture the variable we passed in via AJAX
$param  = $_POST['query'];  

// Build a query
$query = "SELECT * FROM some_table WHERE val ='" . $param . "'";

// I assume you know how to run a query, this would be fetching an assoc array
$results = $DB->run__query($query);

// Check we have some results, then echo back to the AJAX call
if(sizeof($results) > 0) {
    echo $results;
} 

在PHP脚本末尾的$results数组中回显如果我们有任何结果将使用返回的行填充成功回调中的数据数组,然后您可以在成功回调中执行任何DOM操作更新你的模态,希望这有帮助。