php пока l oop не отображает строки после 15 строк - PullRequest
0 голосов
/ 14 января 2020

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

Ниже приведен код основного файла, но в этом файле у меня возникла проблема с l oop мои все mysql строк в php, и я могу сделать это, используя l oop, но когда я пытаюсь это сделать, я получаю все строки, но после 15 строк отображаются только те, которые находятся после 15 строк, например только 16 строк

Мой главный. php код

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    $nv_name_split = str_replace('_', ' ', $row['novel_name']);
    echo '<br><a href="episode?novel='.$row['novel_name'].'&episode='.$row['episode_num'].'"><figure class="snip1253"><div class="image"><img width="100%"src="images/sneakpeaks/'.$row['sneak_peak'].'" alt="sample59"/></div><figcaption>'.
            '<div class="date"><span class="day">'.$row['day'].'</span><span class="month">'.$row['month'].'</span></div><h3>Episode # '.$row['episode_num'].'</h3>  <footer>
            <div class="writer text-center"><i class="fa fa-book"> '.$nv_name_split.'</i></div>
            <div class="love"><i class="fa fa-thumbs-up"></i>'.$row['likes'].'</div>
            <div class="comments"><i class="fa fa-comments"></i>'.$row['comments'].'</div></footer></figure></a></figcaption><br><br>';
}
?>
<?php 
$stmt_count = $novel_list->runQuery("SELECT episode_num 
                                    FROM posts 
                                    WHERE just_skpk='0'");
$stmt_count->execute();
while ($rows = $stmt_count->fetch(PDO::FETCH_ASSOC)) {
    $count_row = $rows['episode_num'];
}
if ($limit < $count_row) {
    echo'<form id="frm_more_post">
            <center>
            <button type="submit" class="form-control btn btn-load_more" id="frm_btn_more">Load More Posts</button>
            </center>
        </form>
        <br>
        <br>';
}else{
    echo'<form id="frm_more_post">
            <center>
            <button type="submit" disabled class="disabled form-control btn btn-load_more" id="frm_btn_more">No More Posts</button>
            </center>
            </form>
            <br>
            <br>'; 
}

, и это мой load_more. php код, где я публикую ограничение сообщений, используя ajax

load_more. php код

$novel_list = new USER();

if (isset($_POST['page'])) {   
    $limit = $_POST['page']+3;
    $stmt = $novel_list->runQuery("SELECT * 
                                    FROM posts 
                                    WHERE just_skpk='0' 
                                    ORDER BY id DESC 
                                    LIMIT $limit");
    $stmt->execute();
    if ($stmt->rowCount(0)) {
        echo '<input class="hidden" id="pages" value="'.$limit.'"/>';

        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            $nv_name_split = str_replace('_', ' ', $row['novel_name']);
            echo '<br><a data-pages="'.$limit.'" href="episode?novel='.$row['novel_name'].'&episode='.$row['episode_num'].'"><figure class="snip1253"><div class="image"><img width="100%"src="images/sneakpeaks/'.$row['sneak_peak'].'" alt="sample59"/></div><figcaption>'.

                '<div class="date"><span class="day">'.$row['day'].'</span><span class="month">'.$row['month'].'</span></div><h3>Episode # '.$row['episode_num'].'</h3>  <footer>

                <div class="writer text-center"><i class="fa fa-book"> '.$nv_name_split.'</i></div>

                <div class="love"><i class="fa fa-thumbs-up"></i>'.$row['likes'].'</div>

                <div class="comments"><i class="fa fa-comments"></i>'.$row['comments'].'</div></footer></figure></a></figcaption><br><br>';

        }

        $stmt_count = $novel_list->runQuery("SELECT episode_num 
                                            FROM posts 
                                            WHERE just_skpk='0'");

        $stmt_count->execute();

        while ($rows == $stmt_count->fetch(PDO::FETCH_ASSOC)) {
            $count_row = $rows['episode_num'];
        }
        if ($limit < $count_row) {
            echo '<form id="frm_more_post">
                    <center>
                        <button type="submit" class="form-control btn btn-load_more" id="frm_btn_more">Load More Posts</button>
                     </center>
                  </form>
                  <br>
                  <br>';
        }else{
            echo '<form id="frm_more_post">
                    <center>
                        <button type="submit" disabled class="disabled form-control btn btn-load_more" id="frm_btn_more">No More Posts</button>
                    </center>
                   </form>
                   <br>
                   <br>'; 
        }
    }else{
        echo 0 ;
    }
}

я решаю первую проблему в основном. php пока l oop, используя double == в то время как l oop, но в файле load_more. php я не могу показать больше сообщений Кнопка показывает, что она отключена, но когда у меня менее 15 строк в базе данных, она работает отлично, пожалуйста, помогите мне показать кнопку загрузки дополнительных сообщений в load_more. php.

Спасибо, любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 14 января 2020

Я думаю это из-за нумерации страниц. В файле load_more. php вы устанавливаете ограничение

$limit = $_POST['page']+3;

, а в файле main. php

if ($limit < $count_row)

это проверка.

0 голосов
/ 14 января 2020

В вашем коде вы получаете episode_num в виде $ count_row, но это не должно быть строк. Попробуйте ниже код

$novel_list = new USER();

if (isset($_POST['page'])) {   
    $limit = $_POST['page']+3;
    $stmt = $novel_list->runQuery("SELECT * 
                                    FROM posts 
                                    WHERE just_skpk='0' 
                                    ORDER BY id DESC 
                                    LIMIT $limit");
    $stmt->execute();
    if ($stmt->rowCount(0)) {
        echo '<input class="hidden" id="pages" value="'.$limit.'"/>';

        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            $nv_name_split = str_replace('_', ' ', $row['novel_name']);
            echo '<br><a data-pages="'.$limit.'" href="episode?novel='.$row['novel_name'].'&episode='.$row['episode_num'].'"><figure class="snip1253"><div class="image"><img width="100%"src="images/sneakpeaks/'.$row['sneak_peak'].'" alt="sample59"/></div><figcaption>'.

                '<div class="date"><span class="day">'.$row['day'].'</span><span class="month">'.$row['month'].'</span></div><h3>Episode # '.$row['episode_num'].'</h3>  <footer>

                <div class="writer text-center"><i class="fa fa-book"> '.$nv_name_split.'</i></div>

                <div class="love"><i class="fa fa-thumbs-up"></i>'.$row['likes'].'</div>

                <div class="comments"><i class="fa fa-comments"></i>'.$row['comments'].'</div></footer></figure></a></figcaption><br><br>';

        }

        $stmt_count = $novel_list->runQuery("SELECT count(*) as cnt 
                                            FROM posts 
                                            WHERE just_skpk='0'");

        $stmt_count->execute();

        while ($rows = $stmt_count->fetch(PDO::FETCH_ASSOC)) {
            $count_row = $rows['cnt'];
        }
        if ($limit < $count_row) {
            echo '<form id="frm_more_post">
                    <center>
                        <button type="submit" class="form-control btn btn-load_more" id="frm_btn_more">Load More Posts</button>
                     </center>
                  </form>
                  <br>
                  <br>';
        }else{
            echo '<form id="frm_more_post">
                    <center>
                        <button type="submit" disabled class="disabled form-control btn btn-load_more" id="frm_btn_more">No More Posts</button>
                    </center>
                   </form>
                   <br>
                   <br>'; 
        }
    }else{
        echo 0 ;
    }
}
...