Как отобразить определенные элементы из базы данных

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

В основном, когда у меня есть Автор в моей статье, я хочу повторить автора из моей базы данных, и он будет отображаться рядом с Автором. Я не уверен, насколько это возможно, поскольку я еще ничего не нашел по этому поводу или я пропускаю это.

Вот мой текущий файл PHP, и я оставил в начальной части автора статьи, дату и заголовок.

<?php

/* Database connection settings */
$host = 'xxxxx';
$user = 'xxxxx';
$pass = 'xxxxx';
$db = 'xxxxx';

$dbconnect=mysqli_connect($host,$user,$pass,$db);

if ($dbconnect->connect_error) {
  die("Database connection failed: " . $dbconnect->connect_error);
}


 $query = mysqli_query($dbconnect, "SELECT * FROM news WHERE news_Id = 1")
   or die (mysqli_errr($dbconnect));

while ($row = mysqli_fetch_array($query)) {
  echo
   "<tr>
    <td>{$row['headline']}</td>
    <td>{$row['content']}</td>
    <td>{$row['author']}</td>
    <td>{$row['date']}</td>   
   </tr>\n";

}

?>
<div class = "container-fluid bg">
<div class = "row">
    <div class = "col-md-1"></div>
    <div class = "col-md-10">
    <div class = "container">         
        <div class = "row mb-2">
            <div class = "col-md-12">
                <div class = "card">
                    <div class = "card-body">
                        <div class = "row">
                            <div class = "col-md-12">
                                <div class = "news-title">
                                    <h2><?php echo $row['headline']; ?></h2>
                                </div>
                                <div class = "news-cats">
                                    <ul class = "list-unstyled list-inline mb-1">
                                         <li class = "list-inline-item">
                                                <i class = "fa fa-folder-o text-danger"></i>
                                                <a href = "#"><small>Author:</small> </a>
                                        </li>
                                         <li class = "list-inline-item">
                                                <i class = "fa fa-folder-o text-danger"></i>
                                                <a href = "#"><small>Posted:</small></a>
                                        </li>
                                    </ul>
                                </div>
                                <hr>

Это кажется довольно простым, что вы пробовали? Как насчет if?

miken32 11.04.2019 00:42

Ваш запрос возвращает только одну строку?

Nick 11.04.2019 00:59

Да @Nick, он возвращает только одну строку, чего я и хочу, но я хочу на самом деле отображать данные, такие как заголовок, автор и т. д., во всем моем html. Вот так <h2><?php echo $row['headline']; ?></h2>.

BR1888 11.04.2019 01:01
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
78
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы просто распечатываете результат, но у вас нет этикетки. Вы можете добавить его следующим образом:

while ($row = mysqli_fetch_array($query)) {
  echo
   "<tr>
    <td>Headline: {$row['headline']}</td>
    <td>Content: {$row['content']}</td>
    <td>Author: {$row['author']}</td>
    <td>Date: {$row['date']}</td>   
   </tr>\n";

}

Привет, спасибо за ответ. Я пытаюсь повторить эти данные в html. Это был просто пример того, что я сделал до сих пор. Например, если вы прокрутите вниз до <div class = "news-title"> и посмотрите на теги <h2>, я бы хотел, чтобы заголовок отображался там.

BR1888 11.04.2019 00:57
Ответ принят как подходящий

Поскольку ваш запрос возвращает только одну строку, цикл while не подходит для выборки данных, так как в конце цикла $row останется как значение false, что делает любую попытку доступа, например. $row['headline'] провал. Измените свою петлю while

while ($row = mysqli_fetch_array($query)) {

к простому заданию:

$row = mysqli_fetch_array($query) or die(mysqli_error($dbconnect));

Обратите внимание, что у вас есть опечатка ранее в вашем коде,

or die (mysqli_errr($dbconnect));

должно быть

or die (mysqli_error($dbconnect));

Другие вопросы по теме