За последние 24 часа нас посетил 36781 программист и 7753 робота. Сейчас ищут 1722 программиста ...

Вывести данные из двух таблиц MySQL

Тема в разделе "PHP для новичков", создана пользователем iiwanc, 10 сен 2023.

  1. iiwanc

    iiwanc Новичок

    С нами с:
    20 май 2022
    Сообщения:
    16
    Симпатии:
    0
    Здравствуйте!
    Простите, если не сюда пишу.
    Хочу вывести на одной странице анонсы статей из двух таблицы БД.
    Есть 2 таблицы news и akcii.
    Строки в них полностью одинаковые: ssylka, title, data, short_content, anonse, genre
    Если нужно, поменяю название строк.
    Делаю запрос из одной таблицы:
    PHP:
    1.         public static function getNewsList ()
    2.         {
    3.             $db = Db::getConnection();
    4.             $newsList = array();
    5.             $result = $db->query('SELECT ssylka, title, data, short_content, anonse, genre '
    6.                 . 'FROM news '
    7.                 . 'ORDER BY data DESC '
    8.                 . 'LIMIT 6 '); //количество выводимых превью новостей
    9.         while($row = $result->fetch()) {
    10.                 $newsList[] = $row;
    11.             }
    12.             return $newsList;
    13.         }
    Вывожу в index.php:
    PHP:
    1.     <?php
    2. $i = 0; // Задаем переменную
    3. foreach ($newsList as $newsItem) :?>
    4.     <?php $i++; // С каждым обходом увеличиваем переменную на 1
    5.         if($i > 2) {
    6.             break; // При достижении i > 3 останавливаем выборку
    7.     }
    8.     ?>
    9.     <article class="card"><img src="../images/statya/asfalt-light-blue.png" alt="thumbnail" class="thumbnail">
    10.         <div class="cat-links"><a href="<?= $base_url ?>statii/sravnenie">Сравнение</a></div>
    11.         <div class="preview" id="box1">
    12.         <h2 class = "zaganon" itemprop="headline"><a href="<?= $base_url ?>statii/sravnenie/<?php echo $newsItem['ssylka'];?>" itemprop="mainEntityOfPage"><?php echo $newsItem['title'];?></a></h2>
    13.             <p itemprop="description"><?php echo $newsItem['anonse'];?></p>
    14.             <a href="<?= $base_url ?>statii/sravnenie/<?php echo $newsItem['ssylka'];?>" id="rm">продолжение</a>
    15. <meta itemprop="datePublished" datetime="<?=date("Y-m-d",strtotime($newsItem['data']))?>" content="<?=date("Y-m-d",strtotime($newsItem['data']))?>">
    16. <meta itemprop="dateModified" content="<?=date("Y-m-d",strtotime($newsItem['data']))?>">
    17.     </div>
    18.     </article>
    19. <?php endforeach;?>
    Как понимаю, нужно сделать запрос из двух таблиц и потом массив разбить для выводу информации.

    У меня затрудняется вывод тем, что на странице анонсы статей выводятся в разных блоках с разным дизайном.
    Поэтому в index.php пишу:
    PHP:
    1.     <?php
    2. $i = 0; // Задаем переменную
    3. foreach ($akciiList as $akciiItem) :?>
    4.     <?php $i++; // С каждым обходом увеличиваем переменную на 1
    5.         if($i > 2) {
    6.             break; // При достижении i > 3 останавливаем выборку
    7.     }
    8.     ?>
    9.     <article class="card"><img src="../images/statya/asfalt-light-orange.png" alt="thumbnail" class="thumbnail">
    10.         <div class="cat-links"><a href="#">Акции</a></div>
    11.         <div class="preview" id="box1">
    12.         <h2 class = "zaganon" itemprop="headline"><a href="#" itemprop="mainEntityOfPage">Название</a></h2>
    13.             <p itemprop="description">Текст описания</p>
    14.             <a href="#" id="rm">продолжение</a>
    15. <meta itemprop="datePublished" datetime="#">
    16. <meta itemprop="dateModified" content="#>">
    17.     </div>
    18.     </article>
    19. <?php endforeach;?>
    Поправьте, пожалуйста.
    На данный момент выводится информация только из таблицы news.
    Как вывести информацию из таблицы akcii на этой же странице?

    Буду благодарен рекомендациям.
     
  2. Drunkenmunky

    Drunkenmunky Старожил

    С нами с:
    12 авг 2020
    Сообщения:
    1.511
    Симпатии:
    284
    Не совсем.
    Ваши затруднения заключаются в выбранном стиле программирования. Он означает, что вы, при необходимости, не сможете обратиться за помощью, добровольно никто не будет это всё разгребать,
    Отделите собственно PHP от разметки. Вычлените источник проблемы и задайте конкретный вопрос.
     
  3. гендаль серый

    гендаль серый Новичок

    С нами с:
    20 янв 2023
    Сообщения:
    53
    Симпатии:
    0
    гугли связи таблиц и одним запросом все выведешь...и лучше pdo