У меня есть файл index.php в котором уже есть подключение к базе данных и выведены заголовки новостей...

Рейтинг: 5 из 5, голосов 1
+++++
У меня есть файл index.php в котором уже есть подключение к базе данных и выведены заголовки новостей для информативности. Я уже подключила Bootstrap 3, и мне нужно сверстать вывод заголовков и текста новостей из БД news. Вот моя верстка : <div class="container"> <div class="row"> <div class="col-md-4 col-sm-6"> <div class="newsBox"> <div class="news-content"> <h3><a href="#"> </a></h3> СЮДА НУЖНО ВЫВЕСТИ title <p> </p> СЮДА НУЖНО ВЫВЕСТИ description <div class="read"> <a href="#" class="btn btn-default">Читать дальше</a> </div> </div> </div> </div> </div> еще нужно сделать функционал чтоб при наведении на заголовок всплывала подсказка (Tooltip) с датой создания новости. (То есть как я поняла в атрибут data-title="Tooltip" нужно записать переменную из php (БД) date_create тут код php <!-- begin snippet: js hide: false console: true babel: false --> <!-- language: lang-html --> <?php $servername = "********"; $username = "********"; $password = "********"; $dbname = "********"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $conn->set_charset('utf8'); ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Новости Hi-Tech</title> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous"> <!-- Optional theme --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap-theme.min.css" integrity="sha384-6pzBo3FDv/PJ8r2KRkGHifhEocL+1X2rVCTTkUfGk7/0pbek5mMa1upzvWbrUbOZ" crossorigin="anonymous"> </head> <body> <?php $news_q = $conn->query('SELECT title, description, date_create FROM news ORDER BY date_create ASC'); if ($news_q->num_rows > 0): while($news = $news_q->fetch_object()): ?> <h3><?=$news->title; ?></h3> (Вывод заголовков для информативности) <?php endwhile; endif; ?> <!-- jQuery --> <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script> <!-- Latest compiled and minified JavaScript --> <script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script> </body> </html> <!-- end snippet --> я попробовала через foreach ($news_q as $news) , и в верстку так: <h3><a href="#"><?= $news['title'] ?></a></h3> <p><?= $news['description'] ?></p> Но на страницу выводится только 1 статья , а нужно столько сколько в БД (7штук) ЧТО Я ДЕЛАЮ НЕ ВЕРНО, И СКАЖИТЕ КАК НУЖНО ? Буду очень благодарна за помощь. PS. Я Front end и PHP для меня новая технология
Ответ:

Чтобы решить эту задачу нужно еще вашу базу данных видеть. По отладке: для начала нужно понять что вообще приходит вам из БД. $news_q->num_rows выведите, чтобы увидеть сколько строк пришло. Можете также сформировать массив $news_q->fetch_all(MYSQLI_ASSOC); и вывести его, например, с помощью функции print_r(); После того как увидите что приходит из БД уже можно будет какие-то выводы сделать.

По поводу "скажите как нужно". Есть много способов, какой выбирать - это уже ваше решение, я обычно делаю не так, как вы, но при этом нельзя сказать, что ваше решение не имеет права на существование.

1
Оцените, насколько полезна эта страница
+++++
Оставьте комментарий

Отправляя форму, я даю согласие на обработку персональных данных.