2014-12-04 1 views
1

데이터베이스 끝 부분에 제대로 출력되는 쿼리가 있습니다. 그러나 php가 education_id를 기반으로 각각의 고유 한 그룹 이름을 표시하지 않습니다.프로그래밍 방식으로 데이터베이스 필드에서 중복 제거

이 문제가 해결되었습니다. 문제는 php 함수에서 사용할 때 데이터베이스 선택기의 선택자를 사용하는 것이 었습니다. -

+0

쿼리 또는 쿼리 실행 후 중복을 제거 하시겠습니까? –

+0

쿼리에서이 작업을 수행하려면 중복 입력란을 기준으로 그룹화하십시오. 쿼리 실행 후이를 제거하려면 PHP 내장 함수를 사용하십시오. D –

+0

쿼리 실행 후 – CodeTalk

답변

2

, 당신은 당신의 쿼리에서 "Distinct" 또는 "Group by"를 사용할 수 있습니다.

를 (권장) 그리고 주문을 위해 당신은 "Order by"

을 사용할 수 있습니다하지만 당신은 PHP에서이 작업을 수행 싶다면, 당신은 "array_unique"를 사용할 수 있습니다.

+0

위의 업데이트 된 쿼리를 참조하십시오. [주문] 열로 주문해야하지만 [GroupName]에 의해 그룹화해야합니다. 어떻게해야합니까? – CodeTalk

+0

PHP 또는 MySQL에서? –

+0

Mysql, 위의 업데이트 된 쿼리 및 쿼리 결과를 보여주는 이미지 참조 – CodeTalk

0

당신이 array_unique()를 사용해야은과 같이 배열

에서 중복 값을 제거합니다 :

. 
. 
. 
    $qresults = mysql_query($query); 
    while($row = mysql_fetch_array($qresults)) { 
     $results[] = $row; 
    } 

    $results = array_unique($results); 
    return $results; 
} 

당신 키로 번호가 그냥 유지 배열의 요소를 제거하려면 키와 같은 문자열이있는 사람, 바로 이것을 사용 :

foreach($array as $key1=>$arr) { 
    foreach($arr as $key3=>$value) { 
     if(is_numeric($key)) { 
      unset($array[$key1][$key3]); 
     } 
    } 
} 

이 다음과 같이 표시됩니다 :

Array 
(
    [1] => Array 
     (
      [Pathway_ID] => 54 
      [Master_ID] => 6 
      [Group_ID] => 26 
      [Job_Outlook] => in demand 
      [type] => Education 
      [Ed_Name] => High School Diploma or GED 
      [Education_ID] => 4 
      [Career_Name] => Industrial Production Managers - Maintenance 
      [Order #] => 2 
      [GroupName] => Facility Maintenance Workers 
      [EntryWage] => 9.71-11.96 
      [MedianWage] => 18.30-21.56 
      [Job_Title] => Installation, Maintenance, and Repair Workers, All Other 
     ) 

) 

$array은 질문에 제공된 것과 같은 배열이라고 가정합니다. 당신이 MySQL의에서이 작업을 수행 싶다면

+0

불행하게도이 나던 작품은, 그것이 내 대답을 확인 – CodeTalk

+0

배열은 어떻게 생겼습니까? DB에서 최소한의 결과로 질문을 업데이트하여 더 많은 것을 테스트하고 더 나은 대답을 제공 할 수 있습니다.) –

+0

위의 배열을 추가했습니다. 예를 들어. "Facility Maintenance Worker"가 두 번 표시됩니다. – CodeTalk