用PHP动态导航

时间:2013-07-26 09:51:05

标签: php mysql navigation

您好我正在构建一个站点目录,我在理解如何使用$_GET['page']函数时遇到一些麻烦

我知道你可以使用它来浏览动态制作的网站,实际上我有一个网站目前使用它但我没有创建那组代码并且不理解它背后的逻辑..

我知道如何处理导航 - 主页将包含指向其网站和我网站上的列表的链接的网站。列表网址将包含网站的类别和ID。

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

据我所知,我可能需要使用htaccess将url更改为第一个示例..

所以无论如何,网址将包含我想要用于与动态加载的页面关联的网站ID和类别,以及相关的类别和网站列表。

这似乎是在PHP中加载页面的标准方法,但我一直无法找到如何做的好指南,我还需要从url中读取数据以进行数据库调用,这样如果任何人都可以解释我如何阅读网址以获取列表ID和类别,我们将不胜感激!

非常感谢

2 个答案:

答案 0 :(得分:2)

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

照顾SQL-Injections。另请参阅其他global variables

答案 1 :(得分:-1)

                <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>