2

我遇到了一个我在 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
我将计数传递给一个变量,以便我可以在查询中使用它,如下所示:

$pst = $_POST['count'];

SQL

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

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

“致命错误:查询失败!SQL:SELECT * FROM tablename LIMIT $number,1

任何帮助将非常感激

4

2 回答 2

3

尝试更改此行:

data: "count=$number",

对此

data: "count=" + $number,

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

于 2013-10-07T18:23:11.510 回答
2

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

你的数据应该是

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

将其作为对象发送。

或者

$data:"count=" + $number,

连接 var

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

于 2013-10-07T18:23:36.673 回答