当我使用 page=1
时,一切正常。但是如果我改变了
$.get("getajax.php","page=1" ,function(data){ }
到
$.get("getajax.php","page="+pageno ,function(data){ }
然后程序返回 false 和“ fatal error :调用非对象上的成员函数 fetch_assoc()”,我认为这意味着 $result 有问题。因此,$query 有问题?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="jquery.js" type="text/javascript"></script>
<title></title>
</head>
<body>
<div id="showdata"></div>
<input type="hidden" id="currentresult" value="1" />
<button id="show">Load</button>
<script type="text/javascript">
$(document).ready(function(){
$(document).on('click','#show',function(e){
var pageno = $('#currentresult').val();
$.get("getajax.php","page="+pageno ,function(data){
pageno++;
$('#currentresult').val(pageno);
$('#showdata').append(data);
});
});
});
</script>
</body>
</html>
还有 getajax.php
<!-- This is ajax data. -->
<?php
$con = mysqli_connect("localhost", "root", "", "maroon5");
$page=isset($_GET["page"])?$_GET["page"]:0;
$pageNo = $page;
$startLimit = ($pageNo-1)*2;
$query = "SELECT * from tour LIMIT $startLimit,2 ";
$result = mysqli_query($con,$query);
var_dump($result);
while($row = $result -> fetch_assoc()){
?>
<div>
<h4>
month:<?php echo $row["month"]; ?>day:<?php echo $row["day"]; ?>
</h4>
</div>
<?php
}
?>
最佳答案
$.get("getajax.php","page=1",function(data){
起作用的原因是它总是向您的 php 发送 1,从而创建 sql 查询的 SELECT * from tour LIMIT 0,2
但是,如果您更改为 $.get("getajax.php","page="+pageno ,function(data){
,页面将被分配 pageno
每次单击按钮时都会动态增加,从而对数据库创建不同的查询,例如:
first click: "SELECT * from tour LIMIT 0,2"
second click: "SELECT * from tour LIMIT 2,2"
third click: "SELECT * from tour LIMIT 4,2"
如您所见,第二次或第三次点击会有所不同。不完全确定,但这很可能是您的情况。其中一个查询未找到任何结果,因此在 fetch_assoc()
关于php - $.get 无法将数据传递给 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42742917/