Задать вопрос
PHP as main lang.
Местоположение
Украина, Ивано-Франковская обл., Ивано-Франковск

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (7)
  • Как реализовать вывод статей блога по категориям?

    @kester
    SW Dev
    Вот от этого лучше избавиться:
    //Выборка из таблицы "Категории"
    $category = mysqli_query($connect, "SELECT * FROM category");
    $categ = mysqli_fetch_assoc($category);
    
    //Выборка из таблицы "Посты"
    $posts = mysqli_query($connect, "SELECT * FROM posts");
    $post = mysqli_fetch_assoc($posts);

    выполняй те запросы, которые тебе необходимы и в тех местах, где они необходимы.

    - function.php
    <?php
    // передавай соединение в параметре, избегай использования global-ов
    function get_post_by_category(\mysqli $db, $category_id)
    {
        // правильный запрос. нам надо все посты конкретной категории
        // $category_id приводим к int, чтобы обезопасить себя от sql-инъекций
        $sql = "SELECT * FROM posts WHERE category_id = " . (int)$category_id;
        $result = $db->query($connect, $sql);
    
        // у нас несколько результатов, читаем их в цикле и собираем в переменную $posts
        $posts = [];
        while ($row = $result->fetch_assoc()) {
            $posts[] = $row;
        }
    
        return $posts;
    }


    - category.php
    <?php
    require_once 'header.php';
    
    $category_id = $_GET['category_id'];
    
    // тут была вторая ошибка: $post вместо $posts
    // не забываем передать $connect
    $posts = get_post_by_category($connect, $category_id);
    
    ?>
    // ну и тд., далее без изменений
    Ответ написан
    6 комментариев