php动态导航


Dynamic navigation with php

嗨,我正在构建一个站点目录,在理解如何使用$_GET['page']函数时遇到了一些困难

我知道你可以使用它在动态创建的网站之间导航,事实上,我有一个网站目前正在使用它,但我没有创建那组代码,也不理解它背后的逻辑。

我知道我将如何处理导航-主页将包含一个链接到他们的网站和我的网站上的列表的网站。列表url将包含网站的类别和ID。

我希望它看起来像domain/category/siteid或像domain/index.php?cat=2&id=58

我知道我可能需要使用htaccess来更改url,使其看起来像第一个例子。。

因此,无论如何,url将包含网站ID和类别,然后我想使用它们与动态加载的页面以及相关的类别和网站列表相关联。

这似乎是用PHP加载页面的标准方式,但我一直找不到一个很好的指南来指导如何做到这一点,我还需要从url中读取数据来进行数据库调用,所以如果有人能解释我如何读取url以获得列表id和类别,我将不胜感激!

非常感谢

Luke

您或多或少自己回答了您的问题。URL中的参数在$_GET数组中的PHP中可用。例如,类别为$_GET['cat'](返回2),ID为$_GET['id'](返回58)。

注意SQL注入。另请参阅其他全局变量

                <ul>
                    <li><a href="index.php">HOME</a></li>
                    <?
                    $first_query = "SELECT * FROM navigation_menu WHERE `status` ='active'";
                    $first_menu = $db->select($first_query);
                    for($a = 0 ; $a < count($first_menu) ; $a++)
                    {?>
                        <li><a href="general.php?id=<?=$first_menu[$a]['id']?>&general=m"> <?=$first_menu[$a]['navigation']?> </a>
                                <?$second_query = "SELECT * FROM sub_menu WHERE nav_menu_id=".$first_menu[$a]['id']." AND `status` ='active'";
                                $second_menu = $db->select($second_query);
                                if(count($second_menu) > 0)
                                {?>
                                    <ul>
                                    <?for($b = 0 ; $b < count($second_menu) ; $b++)
                                    {
                                        if($second_menu[$b]['sub_nav_menu'] != '')
                                        {?>
                                            <li> <a href="general.php?id=<?=$first_menu[$a]['id']?>&sid=<?=$second_menu[$b]['id']?>&general=s"><?=$second_menu[$b]['sub_nav_menu']?></a>
                                                <?$third_query = "SELECT * FROM sub_child_menu WHERE nav_menu_id=".$first_menu[$a]['id']." AND sub_nav_id=".$second_menu[$b]['id']." AND `status` ='active'";
                                                $third_menu = $db->select($third_query);
                                                if(count($third_menu) > 0)
                                                {?>
                                                    <ul>
                                                        <?
                                                        for($c = 0 ; $c < count($third_menu) ; $c++)
                                                        {?>
                                                            <li>
                                                                <a href="general.php?id=<?=$first_menu[$a]['id']?>&sid=<?=$second_menu[$b]['id']?>&cid=<?=$third_menu[$c]['id']?>&general=c">
                                                                    <?=$third_menu[$c]['child_menu']?>
                                                                </a>
                                                            </li>
                                                        <?}?>
                                                    </ul>
                                                <?}?>
                                            </li>
                                        <?}
                                    }?>
                                </ul>
                            <?}?>
                        </li>
                    <?}?>
                </ul>