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

时间:2013-10-07 18:22:10

标签: php jquery mysql ajax

我遇到了一个我在SO上发现的关于这个话题的例子。 请参阅原始文章:How do I show next result in MySQL on "onclick" in JavaScript?

我将此示例跟随到T,但使用了一些更新的函数除外。无论如何,我一步到位,希望有人可以解释。

在下面的jquery中,代码设置$ number,然后将POST操作中的数字传递给php文件。我的问题是,当echo'count'时,它回声“$ 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:SELECT * FROM tablename LIMIT $ number,1

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:3)

尝试更改此行:

data: "count=$number",

到此

data: "count=" + $number,

Javascript不会像php那样“读取”变量的字符串,所以你需要手动连接值。

答案 1 :(得分:1)

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

您的数据应

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

将其作为对象发送。

$data:"count=" + $number,

汇总var

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