2014-09-30 3 views
-1

사람 이름이 들어있는 목록 상자가 있습니다. "요청자"열에는 동일한 이름으로 반복되는 많은 이름이 있습니다. 그래서 목록 상자를 만들 때 이름은 모든 이름을 표시하고 일부 이름은 같은 이름을 가진 이름을 두 개 이상 보여줍니다. 어떻게 내가 그 이름을 단지 하나 밖에 만들 수 있을지. 내 코드는 다음과 같습니다.선택 목록 상자에 동일한 값이 두 개 표시됩니다.

<select name="requestor" id="requestor"> 
    <option value="0">-- Select requestor --</option> 
    <?php 
    $getallCapex_transaction = mysql_query("SELECT * FROM capex_transaction "); 
    while($viewallCapex_transaction = mysql_fetch_array($getallCapex_transaction)) 
    { 
    ?> 
    <option id="<?php echo $viewallCapex_transaction ['Project_id'];?>"><?php 
    echo $viewallCapex_transaction['Requestor']; ?></option> 
<?php } ?> 
</select> 

그리고 또 하나의 문제는 내가 어떻게 MySQL과 연결 달과 해의 목록을 표시 할 수 있습니까? 누군가가 나에게 몇 가지 코드를 보여줄 수 있습니까? 고마워요

+0

임시 배열에 결과를 저장하고 배열을 실행하거나 고유 한 것으로 생각합니다. – Charles

+0

아직 대기 중 ..... = | –

답변

0

같은 "요청자"이지만 다른 "Project_id"가있는 행이 여러 개있는 경우에는 어떻게 될지 예상됩니다. SQL에서 Requestor에 의해 distinct를 선택할 수 있지만, 그것은 당신이 가리키는 레코드를 알지 못하게 할 것입니다.

+0

네, 중복 요청자를 제외하면 고유 한 프로젝트 ID가 손실 될 수 있다고 생각했습니다. – Charles

+0

데이터베이스의 구조를 모르는 시점을 결정하는 것은 매우 어려운 일입니다. 각각의 요청자에 대해 고유 한 이름이 _ 존재할 수도 있습니다. 그러나 그렇지 않다면, 나는 단지 Distinct 나 Joins 등을 사용하여 그들 모두를 나열 할 것입니다. –

0

어레이에 값을 입력하고 array_unique과 같은 값으로 고유 배열을 만듭니다. 다음과 같이 시도하십시오 :

<?php 
    $requestorArray = array(); 
?> 

<select name="requestor" id="requestor"> 
    <option value="0">-- Select requestor --</option> 
    <?php 
     $getallCapex_transaction = mysql_query("SELECT * FROM capex_transaction "); 
     while($viewallCapex_transaction = mysql_fetch_array($getallCapex_transaction)) 
     { 
      $requestorArray[$viewallCapex_transaction ['Project_id']] = $viewallCapex_transaction['Requestor']; 
     } 

     $requestorArray = array_unique($requestorArray); 
     foreach($requestorArray as $projectId => $requestor) 
    ?> 
      <option id="<?php echo $projectId;?>"><?php 
      echo $requestor; ?></option> 
    <?php } ?> 
</select> 
+0

Btw는 고맙습니다. 그러나이 코드는 "Project_id"가 하나 인 "요청자"하나만 보여줍니다. 그들은 다른 "Project_id"에 대한 다른 "요청자"를 보여주지 않습니다. –

관련 문제