用php实现动态导航
您好,我正在建立一个站点目录,我在理解如何使用用php实现动态导航,php,mysql,navigation,Php,Mysql,Navigation,您好,我正在建立一个站点目录,我在理解如何使用$\u GET['page']功能时遇到了一些问题 我知道你可以用它在动态创建的站点之间导航,事实上,我有一个站点目前正在使用它,但我没有创建那组代码,也不理解它背后的逻辑 我知道我将如何处理导航-主页将包含链接到他们的网站和我的网站上的列表的网站。列表url将包含网站的类别和ID 我希望它看起来像domain/category/siteid或者像domain/index.php?cat=2&id=58 我知道我可能需要使用htaccess来更改ur
$\u GET['page']
功能时遇到了一些问题
我知道你可以用它在动态创建的站点之间导航,事实上,我有一个站点目前正在使用它,但我没有创建那组代码,也不理解它背后的逻辑
我知道我将如何处理导航-主页将包含链接到他们的网站和我的网站上的列表的网站。列表url将包含网站的类别和ID
我希望它看起来像domain/category/siteid
或者像domain/index.php?cat=2&id=58
我知道我可能需要使用htaccess来更改url,使其看起来像第一个示例
无论如何,url将同时包含站点ID和类别,我想使用它们与动态加载的页面、相关类别和站点列表相关联
这似乎是在PHP中加载页面的标准方式,但我一直无法找到一个很好的指南,我还需要从url读取数据以进行数据库调用,因此如果有人能解释我如何读取url以获取列表id和类别,我将不胜感激
非常感谢
卢克
你或多或少是自己回答了你的问题。URL中的参数在PHP中的
$\u GET
数组中可用。例如,类别为$\u GET['cat']
(返回2),ID为$\u GET['ID']
(返回58)
照顾好。另请参见other,它与PHP关系不大。每个web脚本都可以使用这些功能,并且
.htacces
的使用是正确的,但是如何使用$\u GET功能加载页面,我希望有一个链接,使用url、网站类别和siteidAs@byf ferdy的数据动态地转到相关列表,您的问题涵盖了PHP
的绝对基本用法。使用像example.com?id=58
这样的URL将在PHP
中为您提供一个名为$\u GET
的变量,该变量具有索引id
,并且具有值58
。如果您希望使用可读的URL,如example.com/id/58
,则必须使用htaccess
将URL从example.com?id=58
重写为example.com/id/58
。这里有太多的问题,涵盖了主题、示例和在线教程,等待一个长时间来回答你的问题简直是浪费时间。我明白了,我很抱歉,我遇到的问题是如何在url中设置类别和id,似乎您可以在编写url之前通过定义它来设置它,所以我已经完成了href='?cat=“..$category.”&id=“..$id.”
所以我所要做的就是使用$\u GET功能来获取单独的变量?它工作了,非常感谢dbf这看起来比需要的复杂10倍,我不确定它是否真的完成了我的要求,但无论如何谢谢你看起来很简单谢谢你的回复我会试试看我能不能让它发挥作用。感谢您对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>