我遇到了一个我在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
任何帮助将不胜感激
答案 0 :(得分:3)
尝试更改此行:
data: "count=$number",
到此
data: "count=" + $number,
Javascript不会像php那样“读取”变量的字符串,所以你需要手动连接值。
答案 1 :(得分:1)
问题是你发送计数为字符串,在你的情况下为$ number。
您的数据应
data: {"count":$number}, //notice `"`
将其作为对象发送。
或
$data:"count=" + $number,
汇总var
我更喜欢数据作为更具可读性的对象。