我想弄清楚我的代碼出錯了。 我在導航欄的無序列表中使用php構建了我的導航欄,以從名爲「shop」的數據庫中的名爲「菜單」的SQL表中檢索菜單元素,但無濟於事。 我什至有一個print_r,只是爲了告訴我,我的資源正在工作,但由於某種原因,整個代碼並沒有創建菜單項寫入。從SQL創建導航欄的動態PHP
這是代碼:
<?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>
你的內聯PHP(在列表中)沒有任何東西可以迴應任何東西......並且你不需要首先檢查數組的數量; foreach會用空數組做正確的事情。 –
你不應該使用mysql_ *函數,因爲它們被棄用,並正在被搶走http://php.net/manual/en/function.mysql-connect.php – Scott