我被困在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,
简洁的变量
我更喜欢数据作为更具可读性的对象。