Вывод связанной категории из БД с картинками

177
01 ноября 2018, 18:20

Всем привет.

Столкнулсья с проблемой извлечь инфы из БД.Проблема такая что нужно из БД выводить информацию из категории.

Есть 2 таблиц category и press в БД

В category есть 2 поле с которыми я работаю image и name соответственно имя и картинка категории.

И в press есть 2 поле text(информация ) и category во втором хранитсья какой категории относитсья этот текст соответственно .

Нужно выводить так :

картинка соответсвующей категории потом его текст в списке ul li. потом картинка следующей категории и потом его текст и так д.

Мои попытки..

Первая попытка

<?php 
global $db; //берем подключения из БД
$rows = $db->query("SELECT `image` FROM `category`"); //берем все картинки из БД
    foreach($rows as $row){ //в цикле проходимсья по ним
        $img = $row["image"]; 
?>
<div class="blue">
    <img class="title-img" src="../upload/<?php echo $img; ?>"> //присваиваем картинку в цикле из папки
    <?php } ?> закрываем область работы foreach цикла
    <?php 
            global $db;
            $rows = $db->query("SELECT * FROM `press`"); //берем все данные из таблицы press
            foreach($rows as $row){ //проходимсья
                $text = $row["text"]; //берем текст от туда
        ?>
    <ul>
        <li><?php  echo $text; ?></li> //и выводим текст
    </ul>
    <?php } ?>
</div>

Такая конструкция выводила всех тегов одного внутри другова то есть были вложенные теги с классом blue(один класс blue внутри с элементами потом другой класс blue с его элементами) до того как не закончились элементы внутри БД

Вторая попытка

<?php 
global $db;
$rows = $db->query("SELECT `image` FROM `category`");
    foreach($rows as $row){
        $img = $row["image"];
?>
<!-- <div class="blue> -->
    <img class="title-img" src="../upload/<?php echo $img; ?>">
    <?php } ?>

    <ul>
        <?php
            global $db;
            $rows = $db->query("SELECT * FROM `press`");
            foreach($rows as $row){
                $text = $row["text"];
        ?>
        <li><?php  echo $text; ?></li>
        <?php } ?>
    </ul>

Вторая попытка аналогично первому ничего не получилось но в этот раз у меня получилось хотя бы не показывать элементов одного внутри другово.

Текст вывелось в одном ul внутри всех li а картинки категорий наверху один за другим без вложенности.

Попыток было больше чем 2 если бы я написал всех боюсь места бы не хватило тут помогите пожалуйста очень прошу.Насчет безопасности знаю мой код уязвим для иньекции.

Answer 1

Почти доделал.

1.Вместо того чтобы взять только картинку я взял все данные из таблицы category

2.Переменная name нужно чтобы сравнивать его с другим переменным ($category_name) из другой таблицы (press)

3.Если они совпали создавать тег li в котором лежит переменная $text которая берет текст из БД

<?php 
global $db;
$rows = $db->query("SELECT * FROM `category`"); //1.
    foreach($rows as $row){
        $img = $row["image"];
        $name = $row["name"]; 
?>
<!-- <div class="baku-ws"> -->
    <img class="title-img" src="../upload/<?php echo $img; ?>">
    <ul>
        <?php
            global $db;
            $rows = $db->query("SELECT * FROM `press`");
            foreach($rows as $row){
                $text = $row["text"];
                $category_name = $row["category"];
                if($category_name == $name){ //2
                    echo "<li>" .   $text . "</li>"; //3
                }
        ?>
        <?php } ?>
    </ul>
    <?php } ?>
READ ALSO
Sapi PHP теория основы

Sapi PHP теория основы

Всем привет! Изучая Nginx дошел до того, что есть SAPI, и что их несколько видов и бла,бла,блаВопрос: у нас есть сервер(демон, который ждёт, когда...

175
Как пользоваться этим куском кода? RedBeanPHP

Как пользоваться этим куском кода? RedBeanPHP

Как этим пользоваться? Что на что изменить? За что отвечает $oldAdapter, $oldToolBox и все переменные в этом коде, а так же на что их нужно заменять, проблема...

169
Long polling не работает

Long polling не работает

Решил добавить подобного рода соединения, как оказалось на примере он работает, а пример заключается в обновление файлаВ реальности при...

170
Почему поле пустое? yii2

Почему поле пустое? yii2

Поле var_dump($user); вывод:

158