Сообщение блога все еще появляется после того, как кодирование не показывает - PullRequest
0 голосов
/ 19 января 2019

У меня есть блог-сайт, написанный на PHP. На этом веб-сайте все сообщения блога поступают из таблицы с именем blogs, и в ней есть строка с именем blog_status, для которой установлено значение on или off.

Если оно определено как on, это означает, что сообщение блога может появиться на сайте, а если оно off, оно не будет доступно для просмотра.

function get_blogposts($id_number,$result_num){
$hr = "";
$get_blogposts = "SELECT * FROM blogs LIMIT " . $id_number . ", " . $result_num;
$run_blogposts = mysqli_query($GLOBALS['con'],$get_blogposts);
$row_count = mysqli_num_rows($run_blogposts);
if($row_count == 0){
    header('Location: blogs.php?page=1');
}
if($row_count > 1){
    $hr = "<hr>";
}
while($row_blogposts = mysqli_fetch_array($run_blogposts)){
    $blo_tbl = $row_blogposts['table_id'];
    $blo_id = $row_blogposts['blog_id'];
    $blo_title = $row_blogposts['blog_title'];
    $blo_body = $row_blogposts['blog_body'];
    $blo_cat = $row_blogposts['blog_category'];
    $blo_tags = $row_blogposts['blog_tags'];
    $blo_date = $row_blogposts['date_posting'];
    if(!empty($row_blogposts['blog_status'])){
        $blo_status = $row_blogposts['blog_status'];
    }
    $blo_views = $row_blogposts['views'];
    $blo_insertion = $row_blogposts['insertion'];

    if(strlen($blo_body) > 140)
    {
        $blo_body = substr($blo_body, 0, 1000);
        $blo_body = explode(' ', $blo_body);
        array_pop($blo_body); 
        $blo_body = implode(' ', $blo_body);
        $blo_body = $blo_body . ' ...';
    }

    if($blo_status != "off"){
        echo "
            <div class='row'>
                <div class='col-md-2'></div>
                <div class='col-md-8'>
                    <h1 class='BTitrBold'>$blo_title <sup><a class='category' href='blogs.php?blog_cat=$blo_cat'>".blog_cat($blo_cat)."</a></sup></h1>
                    <p class='BHoma para'></br>
                    $blo_body </br></br>
                    </p>
                    <a href='blog_post.php?blog_id=$blo_id' class='bishtar BJadidBold'>Read more</a></br></br></br></br>$hr
                </div>
                <div class='col-md-2'></div>
            </div>
        ";
    }
}

}

Теперь проблема в том, что когда я устанавливаю статус блога на off, он все еще появляется на странице, пока я кодировал следующие утверждения:

if($blo_status != "off"){
        echo "
            <div class='row'>
                <div class='col-md-2'></div>
                <div class='col-md-8'>
                    <h1 class='BTitrBold'>$blo_title <sup><a class='category' href='blogs.php?blog_cat=$blo_cat'>".blog_cat($blo_cat)."</a></sup></h1>
                    <p class='BHoma para'></br>
                    $blo_body </br></br>
                    </p>
                    <a href='blog_post.php?blog_id=$blo_id' class='bishtar BJadidBold'>Read more</a></br></br></br></br>$hr
                </div>
                <div class='col-md-2'></div>
            </div>
        ";
    }

1 Ответ

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

Если вам нужны только те данные, для которых включен blog_status, неправильно выбрать все и затем отфильтровать. Вы должны получить отфильтрованные данные из базы данных. изменить эту строку:

$get_blogposts = "SELECT * FROM blogs LIMIT " . $id_number . ", " . $result_num;

с:

$get_blogposts = "SELECT * FROM blogs WHERE blog_status='on' LIMIT " . $id_number . ", " . $result_num;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...