2013-04-11 2 views
0

단일 변수 인 사용자 섹터 ID에 따라 사용자 탐색을 생성하는 코드가 있습니다.이 코드는 사이트에 가입 할 때 선택됩니다.사용자 지정 사용자 네비게이션 구현 개선

나는 섹터 ID를 얻기 위해 사용자 프로필을 쿼리합니다.

이 섹터 ID를 사용하여이 섹터 ID에 대대적 인 전환 명령문 (THE PROBLEM)을 적용한 다음 값을 탐색 배열의 값으로 밀어 내비게이션을 만듭니다.

저는 40 개 이상의 섹터를 가지고 있기 때문에이 스위치 문은 거대하고 지저분 해집니다.

이 코드를 깔끔하게 정리할 수있는 방법이 있습니까? 어쩌면 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

이제는 내 구현 방식이 다르기 때문에 여러 사용자가 사이트에서 서로 다른 기능을 필요로합니다. – cwiggo

+0

예를 들어 사용자 테이블에 MySQL 유형 필드가 있고 그 필드를 통해 정렬하지 않는 이유는 무엇입니까? –

답변

0

내가 구현의 종류가 있지만 하나 개의 측면에서 어려움을 겪고있어,

여기

제안 된 데이터베이스 구조입니다 :

nav_link_table - sector entry 

id  sectorid  nav_id 

nav_table - nav entry 

id  name key  url  name 

그래서 내가 ' nav_link_table 내의 섹터에 많은 nav_table 필드를 추가 할 수 있습니다.

하지만 문제는 섹터에 대한 사용자 지정 항목의 순서를 어떻게 지정합니까?

관련 문제