2011-07-01 36 views
1

我有一個小問題給你!PHP第一個活動按鈕

我使得從MySQL選擇我的例如按鈕:

$query = mysql_query("select * from navigation"); 

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

    echo '<a href="?id=$row['id']">$row['name']</a>'; 

} 

所以我呼籲所有從MySQL的導航和我在CSS一類被稱爲。主動,這個類進行激活鍵當我點擊它,但我怎麼能讓第一個按鈕激活?

$query = mysql_query("select * from navigation"); 

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

    if ($row['id'] == $_GET['id'])) { 
     echo '<a class="active" href="?id=$row['id']">$row['name']</a>'; 
    } else { 
     echo '<a href="?id=$row['id']">$row['name']</a>'; 
    } 

} 
+0

您的回聲語句不正確,會拋出解析錯誤。不知道在發佈問題時是否只是剪切和粘貼錯誤,但是您使用單引號來啓動字符串,但是您嘗試注入'$ row'。 PHP將只允許使用雙引號,所以它會看到'$ row ['id']'的單引號,並看到第一個單引號,認爲你想結束字符串。 –

回答

3

試試這個。

<?PHP 
$query = mysql_query("select * from navigation"); 
$first = true; 
while($row = mysql_fetch_assoc($query)) { 
    if ((!array_key_exists('id', $_GET) && $first) || $row['id'] == $_GET['id']) { 
     $extra = 'class="active"'; 
     $first = false; 
    } else 
     $extra = ''; 

    echo "<a $extra href=\"?id={$row['id']}\">{$row['name']}</a>"; 
} 
?> 
+1

Kudos指出每條鏈接都有if條件時的無用性:P – casraf

+0

@Geoffrey,我試着說點什麼,主動語句已準備就緒,現在我已經完成了,但是我設置了可以讓第一個按鈕處於活動狀態我們點擊它之前。我的意思是默認按鈕「home」 – Mike

+0

@Mike,如果在$ _GET中沒有設置「id」,這將使第一個按鈕處於活動狀態。 – Geoffrey

相關問題