繁体   English   中英

如何在单击按钮时使用 AJAX 从 MySQL 数据库中获取结果

[英]How to fetch results from MySQL database using AJAX on button click

我是 PHP 和 ajax 的新手,所以请放轻松。 我正在尝试使用 AJAX 获取 MySQL 结果。 从我在互联网上发现的研究中,我已经做到了这一点。 如果这可能有帮助,我正在 WordPress 中执行此操作。 我收到此错误 -

Uncaught Error: Call to a member function get_results() on null in script.php:13 Stack trace: #0 {main} thrown in script.php on line 13

测试.php

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<button type="button">Click</button>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<p></p>
<script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery("button").click(function(){

            $.ajax({
                type: 'POST',
                url: 'script.php',
                success: function(data) {
                    
                    jQuery("p").html(data);

                }
            });
   });
});
</script>
</body>
</html>

脚本.php

 <?php 
 echo' <table border="1">
<th colspan="5" style="text-align:center;"> <h2 class="tomorrow">GRADES</h2> </th>
<tr>
 <th>Day</th>
 <th>Comp</th>
 <th>Exam Type</th>
 <th>Grade</th>
<th>Previous Score</th>
</tr>'?>
  <?php
    global $wpdb;
    $result = $wpdb->get_results ( "SELECT * FROM wp_mytab
WHERE date=DATE(NOW())
UNION ALL
SELECT * FROM wp_mytabb
WHERE date=DATE(NOW())

ORDER BY date, comp ASC;" );
    foreach ( $result as $print )   {
    ?>
    <tr>
<td><?php echo $print->day;?></td>
<td><?php echo $print->comp;?></td>
<td><?php echo $print->examtype;?></td>
<td><?php echo $print->grade;?></td>
<td><?php echo $print->previouscore;?></td>
    </tr>
        <?php }
  ?>    
</table>

 ?>

这里有什么问题?

您不能在独立的 PHP 文件中的 wordpress 代码结构之外使用$wpdb

为此,您应该包含一些 wordpress 库

将此添加到 php 代码的开头。

$path = $_SERVER['DOCUMENT_ROOT'];
include_once $path . '/wp-includes/wp-db.php';

确保你的$path是正确的

暂无
暂无

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

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