获取数据mysql和动态页面

时间:2012-12-30 11:25:52

标签: php mysql

$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 个答案:

答案 0 :(得分:1)

如果条件

,则必须为==
if ($menusonuc["menu_id"] == $menu){
..
}

答案 1 :(得分:1)

基本语法陷阱,您使用的=应该使用==

if ($menusonuc[menu_id] == $menu)

答案 2 :(得分:1)

您应该在==

中使用等于运算符=而不是赋值运算符$menusonuc[menu_id]= $menu

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

  1. 必须引用数组索引。因此$menusonuc[menu_id]应为$menusonuc['menu_id']
  2. 不要在简单变量前面使用@。它没有任何意义。您可以在函数调用或表达式前使用它。 @$arr[$index]是有道理的。
  3. 根本不要使用@。这个error control operator非常慢。此外,它隐藏了错误并使调试变得困难。

答案 3 :(得分: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>";
    }
}