繁体   English   中英

使用模态的Ajax返回数据运行PHP查询

[英]Run PHP Query with Ajax return data in modal

这是我第一次完全尝试使用ajax。 我在Google各处浏览,似乎找不到答案。 我什至不确定我要做什么。

我正在尝试使用来自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页面并在模式窗口中返回结果的功能?

请帮忙。

似乎您在这里甚至没有使用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操作以更新您的模式,希望这样做帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM