2012-12-20 34 views
0

我有大量的用户可以在我的网站上采用的路线,例如,如果他们是一个特定的用户,他们获得与另一个用户不同的导航。我如何在我的网站上形成动态导航

什么行业用户是的,我已经创建了一个switch语句来捕获这些ID和建构自己独特的导航头衔相关:

switch($sector_id){ 
    /*chefs 
    case 'f8721714d845eaa5222dcdb4dd642ceb29a280bc': 
     $key_array= array('menus','news','staff','directory'); 
     $url_array = array('/dashboard/menus/','/dashboard/news2/','/dashboard/staff2/','/dashboard/directory2/'); 
     $name_array = array('Menus2','News2','Staff2','Directory2');'Recipe Stories', 'Blog', 'Events'); 
     break;*/ 
    //restaurants, pubs 
    case 'c835ff2d2838b3ea45bdb729c641b73b4fa0098d': 
    case '378ee5253530d7d02cea3012966deab24bcc5da2': 
     $key_array= array('menus','news','staff','directory'); 
     $url_array = array('/dashboard/menus/','/dashboard/news/','/dashboard/staff/','/dashboard/directory/'); 
     $name_array = array('Menus','News','Staff','Directory'); 
     break; 

因此,例如,这是我已经有(硬编码):

array( 'key' => 'profile', 
     'url' => '/dashboard/profile/', 
     'name' => 'Profile'), 
array( 'key' => 'picture', 
     'url' => '/dashboard/picture/', 
     'name' => 'Profile Picture'), 
array( 'key' => 'cv', 
     'url' => '/dashboard/cv/', 
     'name' => 'CV'). 

我该如何动态构建上面的数组?我可以使用每个语句,但他们必须嵌套的权利?任何帮助,将不胜感激。

感谢

回答

1

你有没有想过为每个用户类型创建静态导航的HTML和公正,包括用户类型文件基础?如果你不想在动态导航上选择“All Out”,这对你来说可能会更容易。你硬编码您的导航反正...

如果你想成为真正的动态,你所有的导航项目的存储在表(ID,键,网址,姓名),并创建一个连接表用户类型和导航项目。

加入表列: (用户类型,navigation_id)

连接表的SQL(未测试)

SELECT * FROM usertype_navigation un JOIN navigation_items ni on un.navigation_id = ni.id WHERE un.usertype = "c835ff2d2838b3ea45bdb729c641b73b4fa0098d" 

这将通过每个记录返回所有的导航项目,循环和吐出的HTML导航项目。