Я сейчас перепроектирую свой сайт, чтобы использовать PHP и базы данных (в отличие от Bootstrap, CSS и HTML), и в настоящее время у меня возникают проблемы с захватом моих ссылок из моей базы данных и помещением их в мое навигационное меню , Я предпочитаю использовать базу данных, чтобы предотвратить необходимость повторного ввода всех ссылок, если я в конечном итоге решит их изменить. Проблема в том, что я не могу получить вывод HTML здесь, и я не уверен, что я делаю неправильно. Я довольно новичок в PHP, поэтому может быть что-то тривиальное, что я просто не понял концепцию, но в настоящее время этот код отображает только маркерную строку <ul>
на странице. Моя база данных и код ниже. Подтверждена возможность подключения базы данных.Создание HTML Nav из базы данных PHP
test.php:
require_once('config.php');
$conn = new mysqli($servername, $username, $password, $database);
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT link_title, link_url FROM links ORDER BY link_id";
if ($result = $conn->query($query)) {
echo '<ul class="nav navbar-nav navbar-right">';
foreach($result as $link) {
echo '<li>';
echo "<a href='{$link->link_url}'>{$link->link_title}</a>\n";
echo '</li>';
}
echo '</ul>';
/* free result set */
$result->close();
}
/* close connection */
$conn->close();
'$ result' является MySQLi объект результата. вы не можете 'foreach' его. это не массив. он должен быть больше похож на 'while ($ link = $ result-> fetchRow()) {...}' –