Как исправить бесконечный цикл при добавлении JQuery к моим тегам скрипта с использованием PHP MVC - PullRequest
0 голосов
/ 21 декабря 2018

Я добавляю галерею изображений с «бесконечной прокруткой» в свой PHP MVC, используя файл JQuery, но когда я добавляю файл .js в теги скрипта нижнего колонтитула, даже не добавляя код для доступа к файлу, мой сайт работает бесконечноцикл без прокрутки вниз.

.js-файл вызывает код готового документа, но потребуется захватить первые изображения даже перед прокруткой.

Я добавил 'scroll.js'файл в мою папку public / js и добавил его в мой `footer.php' как стандартный.

Я знаю, что код работает так, как будто он запущен на отдельном сайте.

scroll.js

var start = 0;
var limit = 15;
var reachedMax = false;

$(window).scroll(function () {
     if ($(window).scrollTop() == $(document).height() - $(window).height())
        getData();
});

$(document).ready(function () {
     getData();
});

function getData() {
    if (reachedMax)
        return;

    $.ajax({
    url: 'index.php',
    method: 'POST',
    dataType: 'text',
    data: {
        getData: 1,
        start: start,
        limit: limit
    },
    success: function(response) {
        if (response == 'reachedMax')
            reachedMax = true;
        else {
            start += limit;
            $('.results').append(response);
        }
    }
    });
}

Это будет поймано кодом из моего index.php;

  if (isset($_POST['getData'])) {

    $start = isset($_POST['start']);
    $limit = isset($_POST['limit']);

    $row = $this->imageModel->getPageImages($start, $limit);
    if ($row->num_rows > 0) {
        $response = "";

        while($image = $row->fetch_array()) {
            $response .= '              
                <div class="card">
                    <img class="card-img-top" src="images/thumbs/thumb-' . $data['userimage'] . '" alt="">
                    <div class="card-body">
                        <h4 class="card-title">'.$data['username'].'</h4>
                        <p class="card-text">'.$data['userimage'].'</p>
                    </div>
                </div>';
            }
    }

  }

Я ожидаю, что файл .js просто захватит первые 15 изображений, но этодаже кажется, что циклически загружается страница, поскольку даже navbar отображается неоднократно;

Screenshot

РЕДАКТИРОВАТЬ: при попытке предложения Лоуренса изменить на $start = $_POST['start'] ?? 0; я получаю следующий вывод;Screenshot 2

С ошибкой Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''0', '15'' at line 18

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...