2012-11-09 4 views
0

여기에 복제와 관련된 문제가 있습니다. 중복 값을 사용하는 한 임의의 지점에서 복제본을 클립 할 수 있다고 생각합니다. 는 가장 큰 int 값을 유지합니다. 이 유사한 내가 대답을 생각PHP : 선택 상자를 생성 할 때 중복이 발생합니다. 가장 높은 값의 INT가 필요합니다

<option disabled="disabled">&nbsp;</option><option disabled="disabled">WA¬</option> 
<option value="56">&nbsp;&nbsp;&nbsp;Aberdeen</option> 
<option value="82">&nbsp;&nbsp;&nbsp;Bellingham</option> 
<option value="106">&nbsp;&nbsp;&nbsp;Everett</option> 
<option value="109">&nbsp;&nbsp;&nbsp;Kitsap County</option> 
<option value="102">&nbsp;&nbsp;&nbsp;Seattle</option> 
<option value="105">&nbsp;&nbsp;&nbsp;Tacoma</option> 
<option value="173">&nbsp;&nbsp;&nbsp;Tri-Cities</option> 
<option value="64">&nbsp;&nbsp;&nbsp;Wenatchee</option> 
<option value="162">&nbsp;&nbsp;&nbsp;Yakima</option> 

된다

여기
<option disabled="disabled">&nbsp;</option><option disabled="disabled">WA¬</option> 
<option value="56">&nbsp;&nbsp;&nbsp;Aberdeen</option> 
<option value="82">&nbsp;&nbsp;&nbsp;Bellingham</option> 
<option value="106">&nbsp;&nbsp;&nbsp;Everett</option> 
<option value="109">&nbsp;&nbsp;&nbsp;Kitsap County</option> 
<option value="102">&nbsp;&nbsp;&nbsp;Seattle</option> 
<option value="105">&nbsp;&nbsp;&nbsp;Tacoma</option> 
<option value="20">&nbsp;&nbsp;&nbsp;Tri-Cities</option> 
<option value="173">&nbsp;&nbsp;&nbsp;Tri-Cities</option> 
<option value="64">&nbsp;&nbsp;&nbsp;Wenatchee</option> 
<option value="65">&nbsp;&nbsp;&nbsp;Yakima</option> 
<option value="162">&nbsp;&nbsp;&nbsp;Yakima</option> 

이 예상 출력 : 여기에

$unitList = Base_Client_Model::getBusinessUnitList(false, $selectedMarket, false, true); 
    $marketListBox = $marketOptions = ''; 
    $marketList = array(); 

    for ($x = 1; $x <= $unitList['NUMBER_OF_BUSINESS_UNITS']; $x++) { 
    $unitStr = 'BUSINESS_UNIT_' . $x . '_'; 

     $businessUnit = Base_Client_Model::getBusinessUnit($unitList[$unitStr . 'ID']); 
     if ($unitList[$unitStr . 'ID'] && $unitList[$unitStr . 'ID'] != 42) { 
      $marketListBox = "<option value='" . $unitList[$unitStr . 'ID'] . "'"; 
      if($selectedMarket == $unitList[$unitStr . 'ID']) { 
       $marketListBox .= ' selected'; 
       $selectedMarket = 0; 
      } 

      $marketListBox .= ">&nbsp;&nbsp;&nbsp;" . preg_replace('/-Wimax/i', '', $unitList[$unitStr . 'NAME']) . "</option>\n"; 
      $marketList[$businessUnit->getElement('STATE')][] = $marketListBox; 
     } 
    } 

    ksort($marketList); 
    foreach($marketList as $key => $val) { 
     $marketOptions .= "<option disabled='disabled'>&nbsp;</option><option disabled='disabled'>{$key}&#172;</option>\n" . implode($val); 
    } 

    $this->view->marketOptions = $marketOptions; 

은 샘플 리턴입니다 : 여기

는 코드 스탬프입니다

$unitList['BUSINESS_UNIT_' . $x . '_NAME'] != $unitList['BUSINESS_UNIT_' . $x + 1 . '_NAME']

+0

소요 곳, 와이맥스 및 비 와이맥스 시장 형태 비교를 필요? 만약 그렇다면 당신은 왜이 그룹에 속해 있지 않습니까? 그러면이 사람들을 감싸서 모델이나 컨트롤러 레이어에서 처리 할 필요가 없으므로 데이터베이스 레이어 자체에서 처리 할 수 ​​있습니까? 당신은 그것에 대해 어떻게 생각하십니까/ –

+0

이것은 RCAPI 요청에서 파기되었습니다. 위에서 언급 한 내용은 효과가 없지만 해결책을 발견했다고 생각합니다. – ehime

답변

0

는 와이맥스 코드, 난 당신이 물건을 얻기 위해 DB의 어떤 종류를 사용하는 생각에서 우선 순위

  if ($unitList['BUSINESS_UNIT_' . $x . '_NAME'] .'-Wimax' != $unitList['BUSINESS_UNIT_' . ($x + 1) . '_NAME']) { 
       $marketListBox = "<option value='" . $unitList[$unitStr . 'ID'] . "'"; 
       if($selectedMarket == $unitList[$unitStr . 'ID']) { 
        $marketListBox .= ' selected'; 
        $selectedMarket = 0; 
       } 

       $marketListBox .= ">&nbsp;&nbsp;&nbsp;" . preg_replace('/-Wimax/i', '', $unitList[$unitStr . 'NAME']) . "</option>\n"; 
       $marketListArray[$businessUnit->getElement('STATE')][] = $marketListBox; 
      }