【问题标题】:OnClick Function Get Next Record PHP AJAX MYSQLOnClick 函数获取下一条记录 PHP AJAX MYSQL
【发布时间】:2013-10-07 18:22:09
【问题描述】:

我遇到了一个我在 SO 上找到的关于这个主题的例子。 见原文:How do I show next result in MySQL on "onclick" in JavaScript?

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

在下面的 jquery 中,代码设置 $number,然后在 POST 操作中将 number 传递给 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: SELECT * FROM tablename LIMIT $number,1

任何帮助将不胜感激

【问题讨论】:

  • 如果您了解如何查看请求/响应,您会很快发现您没有通过 ajax 传递正确的数据。

标签: php jquery mysql ajax


【解决方案1】:

尝试更改此行:

data: "count=$number",

到这里

data: "count=" + $number,

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

【讨论】:

    【解决方案2】:

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

    你的数据应该是

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

    将其作为对象发送。

    $data:"count=" + $number,
    

    连接变量

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

    【讨论】:

    • 谢谢,您的第一个示例对我有用 {"count":$number} 根据原始帖子中的最后一条评论,我已经在我的 ajax 中输入了第二个示例,但那不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多