我有代码,生成用户导航取决于一个单一的变量,用户扇区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
但问题是我如何使导航条目的顺序自定义扇区?