Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在单击按钮时从数据库中一次检索一行?_Javascript_Php_Json_Ajax - Fatal编程技术网

Javascript 如何在单击按钮时从数据库中一次检索一行?

Javascript 如何在单击按钮时从数据库中一次检索一行?,javascript,php,json,ajax,Javascript,Php,Json,Ajax,我正在开发一个物品挑选系统,需要在一个表中一次点击一个按钮,遍历一个物品。当前,该按钮仅检索并显示表中的第一项。如何更改它,使其在单击按钮时一次遍历每一个?任何帮助都将不胜感激,谢谢 这是我用来检索数据的php文件 mysqli_select_db($con,"items"); $sql="SELECT * FROM items Limit 1 "; $result = mysqli_query($con,$sql); while($row = mysqli_fetch_assoc($re

我正在开发一个物品挑选系统,需要在一个表中一次点击一个按钮,遍历一个物品。当前,该按钮仅检索并显示表中的第一项。如何更改它,使其在单击按钮时一次遍历每一个?任何帮助都将不胜感激,谢谢

这是我用来检索数据的php文件

mysqli_select_db($con,"items");


$sql="SELECT * FROM items Limit 1 ";
$result = mysqli_query($con,$sql);

while($row = mysqli_fetch_assoc($result))
    $rows[] = array_map('utf8_encode', $row);

header('Content-Type: application/json');
echo json_encode($rows);
这是我的按钮

<script>
 $(document).ready(function () {
$('#button1').click(function (e) {
    $.getJSON("getItem.php", function(result){
      $.each(result, function(i, field){
         $("#div1").empty();
        $("#div1").append(JSON.stringify(result));     //alert(JSON.stringify(data));
      });
    });
  });
});
</script>

$(文档).ready(函数(){
$('#按钮1')。单击(函数(e){
$.getJSON(“getItem.php”,函数(结果){
$.each(结果、函数(i、字段){
$(“#div1”).empty();
$(“#div1”).append(JSON.stringify(result));//alert(JSON.stringify(data));
});
});
});
});

您需要维护一个变量来处理限额查询的偏移量。你可以这样试试

JS代码:

<script>
var offset = 0;

 $(document).ready(function () {
$('#button1').click(function (e) {
    // pass offset value with GET request
    $.getJSON("getItem.php?offset=" + offset, function(result){

      offset++; // increament the value after sucessful AJAX call
      $.each(result, function(i, field){
         $("#div1").empty();
        $("#div1").append(JSON.stringify(result));     //alert(JSON.stringify(data));
      });
    });
  });
});
</script>
mysqli_select_db($con,"items");

// Get the offset value
$offset = empty($_GET['offset']) ? 0 : $_GET['offset']

$sql="SELECT * FROM items Limit 1, $offset"; // pass the offset value to LIMIT query
$result = mysqli_query($con,$sql);

while($row = mysqli_fetch_assoc($result))
    $rows[] = array_map('utf8_encode', $row);

header('Content-Type: application/json');
echo json_encode($rows);

我会在button1中添加一个属性来跟踪计数

<div id="button1" count="1">clickme</div>
在PHP页面中,我必须假设您有某种ID作为键。item_id=1、item_id=2等。将查询更改为:

"SELECT * FROM items WHERE item_id = ".$_GET['count'].";"

感谢您的回复,我尝试了这个,但我的php文件中不断出现错误:xdebug error xe warning:warning:mysqli_fetch_assoc()期望参数1为mysqli_result,给定布尔值。出于某种原因,它不喜欢sql语句中的offset变量,因为当我删除它时,错误会消失,我忘记了放一个,将偏移量与限制分开。我已经更新了答案检查,如果它现在起作用。谢谢,我现在收到一个行变量未定义的错误。我已经设法解决了这个问题,但是每次我尝试用按钮逐个遍历每条记录时,它都会将表中的下一项添加到最后一条记录上
"SELECT * FROM items WHERE item_id = ".$_GET['count'].";"