我的代码根据单个变量生成用户导航,用户扇区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;
}
所以是的,它占用了相当多的编码,我个人认为这样做是单调的。
有人能看到更好的方法来实现这个吗?
干杯
克里斯
答案 0 :(得分:0)
我有一种实现,但我在一方面苦苦挣扎,
这里是建议的数据库结构:
nav_link_table - sector entry
id sectorid nav_id
nav_table - nav entry
id name key url name
所以我可以在nav_link_table
中的扇区中添加许多nav_table字段但问题是如何将导航条目的顺序定制到扇区?