2015-11-06 50 views
0

我想弄清楚我的代碼出錯了。 我在導航欄的無序列表中使用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> 

結果不幸的是看起來是這樣的: enter image description here

+0

你的內聯PHP(在列表中)沒有任何東西可以迴應任何東西......並且你不需要首先檢查數組的數量; foreach會用空數組做正確的事情。 –

+0

你不應該使用mysql_ *函數,因爲它們被棄用,並正在被搶走http://php.net/manual/en/function.mysql-connect.php – Scott

回答

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_*功能,因爲它是depreciated改爲使用庫MySQLi或PDO爲了更安全的運營!

+0

首先,感謝您的答案蘇丹!其次,我完全錯過了,我想用<?= ...也可以嗎? – erezT

+0

@erezT不客氣。是的,你可以使用它!這裏是你將獲得的輸出示例http://s13.postimg.org/xr693pedz/image.png –

+0

你應該使用這個'

  • '來實現我在上面的鏈接截圖中給出的那個;) –