Как я могу получить 1 строку за раз из базы данных по нажатию кнопки? - PullRequest
0 голосов
/ 28 января 2019

Я занимаюсь разработкой системы выбора предметов, и мне нужно перебирать таблицу по одному предмету за раз одним нажатием кнопки.В настоящее время кнопка извлекает и отображает только первый элемент в таблице.Как я могу изменить его, чтобы он перебирал каждый из них в момент нажатия кнопки?Любая помощь будет признательна, спасибо

Вот мой 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>

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Я бы поместил атрибут в button1 для отслеживания счетчика.

<div id="button1" count="1">clickme</div>

В своем javascript добавьте код, чтобы найти этот счетчик, и отправьте его в своем запросе на свою страницу PHP.

('#button1').click(function (e) {
var thisCount = document.getElementById('button1').getAttribute('count');
// don't forget to increase that count for the next time
document.getElementById('button1').setAttribute('count', (thisCount + 1));
$.getJSON("getItem.php?count=" + thisCount, function(result){
// ... rest of code

На вашей странице PHP я должен предположить, что у вас есть какой-то идентификатор в качестве ключа.item_id = 1, item_id = 2 и т. д. Измените запрос следующим образом:

"SELECT * FROM items WHERE item_id = ".$_GET['count'].";"
0 голосов
/ 28 января 2019

Вам необходимо сохранить переменную для обработки смещения для запроса LIMIT.Вы можете попробовать этот способ,

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>

PHP код:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...