更好地实现自定义用户导航


Better implementation of custom user navigation

我有代码,生成用户导航取决于一个单一的变量,用户扇区id,这是选择当他们在网站上注册。

查询用户配置文件获取扇区id。

使用这个扇区ID,我在这个扇区ID上执行一个大规模的切换语句(THE PROBLEM),然后将值推送到导航数组,然后进行导航。

当我有40个或更多扇区时,这个switch语句变得非常庞大和混乱。

有办法整理这段代码吗?也许是MySQL解决方案或任何替代方案?

这是我实现的一个例子,想象它大50倍:

switch($sectorid){
 //SECTOR HEADING- SECTORS
    case '9322938ef17ecfe2db3ed25738ed2debca78b9f4':
    case '94ab631f251624ef0a05485961c6f95f38767bbf':
    case '7e0c4c8f07128ea0cc5c5c9884242fcd4565bc72':
    case 'b32dd88a8baf60026fc01e1b0c10fc3371af0880':
    case '2f4d1285c7e0ebe8c448a87142e9d9d5aca0c0a6':
    case '5dc9d9a34c1cd4304c308a9a14189ea01110e85e':
    case '7e3201c9cab00bfe134f0e9277a8bbe16030440d':
    case '949d9ab17fc3f3e5af6db0dfcec6fc7fafa2b11f':
    case 'ef9839efe7b6d780b05fd332ca430a6a8f0c1606':
    case '526cb8abe2b45bb5ead83834310001f683491c0c':
        $key_array = array('catalogue',         'news',         'product_stories',          'staff');
        $url_array = array($d.'catalogue/',      $d.'news/',    $d.'product_stories/',      $d.'staff/');
        $name_array = array('Catalogue',         'News',        'Product Stories',          'Staff');
        break;  
}

它占用了很多代码,我个人认为这样做很单调。

有谁能想到更好的实现方法吗?

欢呼克里斯

我有一个实现但是我在一个方面遇到了困难,

下面是建议的数据库结构:
nav_link_table - sector entry
id      sectorid        nav_id
nav_table - nav entry
id      name    key     url     name

所以我将能够添加许多nav_table字段到一个扇区内的nav_link_table

但问题是我如何使导航条目的顺序自定义扇区?