mysql — динамический PHP, который создает navbar из SQL

Я пытаюсь выяснить, где я ошибся с моим кодом.
Я построил свою панель навигации с php в неупорядоченном списке панели навигации, чтобы получить элементы меню из таблицы SQL с именем «menu» из базы данных с именем «shop», но безрезультатно.
У меня даже есть print_r, чтобы показать мне, что мой ресурс работает, но по какой-то причине весь код не создает пункты меню так, как они написаны.

Это код:

    <?php
$menu = [];
mysql_connect('localhost', 'root', '');
mysql_select_db('shop');

$result=  mysql_query("SELECT * FROM menu");
if ($result && mysql_num_rows($result)>0){

while($row = mysql_fetch_assoc($result)){
$menu[] = $row;
}
}
echo '<pre>';
$error= print_r($menu);
$error = '' ;
echo '</pre>';
?>

<!DOCTYPE html>

<html>
<head>
<link href="_CSS/style.css" rel="stylesheet" type="text/css"/>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div class="site-wrapper">
<div class="header">
<div class="navbar">
<ul>
<li><a href="./">Home</a></li>
<?php if(count($menu) >0) : ?>
<?php foreach ($menu as $row) : ?>
<li><a href="#"><?php $row = ['link']; ?></a></li>
<?php endforeach; ?>
<?php endif; ?>
</ul>
</div>
<div class="member">
<ul>
<li><a href="../login.php"></a>Login</li>
<li><a href="../Register.php"></a>Register</li>
</ul>
</div>
</div>
</div>

Результат, к сожалению, выглядит так:
введите описание изображения здесь

0

Решение

Ваша проблема заключается в следующем:

<?php $row = ['link']; ?>

Наверное, должно быть так:

<?php echo $row['link']; ?>

Может быть, вы запутались, пытаясь сделать это:

<?= $row['link']?>
0

Другие решения

Ошибка 1:

Вы использовали

$row = ['link'];

Где вы получите эту ошибку Notice: Array to string conversion in ..

Так что вам нужно иметь $row['link'];

Ошибка 2:

Вам необходимо вывести контент, используя echo

<li><a href="#"><?php echo $row['link']; ?></a></li>

Предупреждение: Не использовать mysql_* функционирует как есть амортизироваться вместо этого используйте mysqli или PDO для более безопасной работы!

0

По вопросам рекламы [email protected]