2011-07-01 38 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

相关问题