У меня есть файл 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(); После того как увидите что приходит из БД уже можно будет какие-то выводы сделать.
По поводу "скажите как нужно". Есть много способов, какой выбирать - это уже ваше решение, я обычно делаю не так, как вы, но при этом нельзя сказать, что ваше решение не имеет права на существование.