-3
$menu=$_GET[menu];
if (empty($menu))
    {
    $menu==1;
    }

$menusql= "select * from menu order by menu_id asc";
$menusorgu= mysql_query($menusql);
while (@$menusonuc = mysql_fetch_array($menusorgu)) 
{
    if ($menusonuc[menu_id]= $menu)
    {
    echo "<li class=\"active first\"><a href=\"portal.php?menu=\"$menusonuc[menu_id]\"\">$menusonuc[menu]</a></li>";
    }
    else
    {
    echo "<li><a href=\"portal.php?menu=\"$menusonuc[menu_id]\"\">$menusonuc[menu]</a></li>";
    }
}

在数据库中,我有 menu_id 和菜单“第一活动”类显示你在哪里这个代码写入所有菜单但不能显示“第一活动”类有人可以帮助我吗?

4

4 回答 4

1

它必须==处于 if 条件

if ($menusonuc["menu_id"] == $menu){
..
}
于 2012-12-30T11:28:18.700 回答
1

基本语法陷阱,你正在使用=你应该使用的地方==

if ($menusonuc[menu_id] == $menu)
于 2012-12-30T11:28:32.937 回答
1

您应该使用相等运算符==而不是赋值运算=$menusonuc[menu_id]= $menu

您的代码还有其他一些问题。

  1. 数组索引必须加引号。所以$menusonuc[menu_id]应该是$menusonuc['menu_id']
  2. 不要@在简单变量前面使用。这没有任何意义。您可以在函数调用或表达式之前使用它。@$arr[$index] 说得通。
  3. 根本不要使用@。这个错误控制运算符非常慢。此外,它隐藏了错误并使其难以调试。
于 2012-12-30T11:28:40.680 回答
0

您已经使用=了应该使用的地方====使用了只应该使用的地方=,而您忘记了在数组键的名称周围使用引号。尝试使用此代码而不是您的代码(已修改):

$menu = $_GET["menu"];
if (empty($menu)) {
    $menu = 1;
}

$menusql = "select * from menu order by menu_id asc";
$menusorgu = mysql_query($menusql);
while ($menusonuc = mysql_fetch_array($menusorgu)) {
    if ($menusonuc["menu_id"] == $menu) {
        echo "<li class='active first'><a href='portal.php?menu={$menusonuc["menu_id"]}'>{$menusonuc['menu']}</a></li>";
    } else {
        echo "<li><a href='portal.php?menu={$menusonuc["menu_id"]}'>{$menusonuc["menu"]}</a></li>";
    }
}        
于 2012-12-30T11:40:15.660 回答