OnClick 函数获取下一条记录 PHP AJAX MYSQL


OnClick Function Get Next Record PHP AJAX MYSQL

我被困在SO上找到的关于这个主题的例子上。请参阅原始文章:如何在 JavaScript 中的"onclick"上显示 MySQL 的下一个结果?

我按照这个例子到了 T,除了使用一些更新的函数。 无论如何,我被困在一步上,希望有人能解释。

在下面的jQuery中,代码设置$number然后将POST操作中的数字传递给php文件。 我的问题是,当回显"计数"时,它会回显"$number"。 我不确定为什么它不传递诸如"0"之类的实际数字而不是字符串"$number"。 我可能正在做一些严重的错误,但不确定发生了什么。

jquery

$(function(){
  $('#showMore').click(function(event) {
     event.preventDefault();
     $number = $('.result').size();
    $.ajax({
       type: "POST",
       url: "getNext.php",
       data: "count=$number",
       success: function(results){
         $('#results').append(results);
       }
     });
  });

.PHP
我将 count 传递到一个变量中,以便我可以在查询中使用它,如下所示:

$pst = $_POST['count'];

.SQL

$sql = "SELECT * FROM tablename LIMIT $pst,1";

继续捕获我收到的错误(见下文( - 如前所述,它插入"$number"而不是实际数字。

"致命错误:查询失败!SQL:从表名限制中选择 $number,1

任何帮助将不胜感激

尝试更改此行:

data: "count=$number",

对此

data: "count=" + $number,

Javascript 不像 php 那样"读取"变量的字符串,因此您需要手动连接值。

问题是您将计数发送为字符串,这在您的情况下$number。

您的数据应该是

data: {"count":$number}, //notice `"`

将其作为对象发送。

$data:"count=" + $number,

简洁的变量

我更喜欢数据作为更具可读性的对象。