2014-09-30 4 views
-1

У меня есть окно с именами лиц. В столбце «Requestor» есть много имен, которые повторяются с тем же именем. Поэтому, когда я создаю окно списка, имя показывает все имя, а какое-то имя - более одного с тем же именем. Как я могу заставить имя просто выйти только один. Ниже приведены мои коды.Выберите окно списка с двойным одинаковым значением

<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

Ну, если есть несколько строк с тем же «Requestor», но с другим «Project_id», вот как это получится. Вы можете выбрать отдельный Requestor в своем SQL, но это не даст вам знать о том, на какой записи вы указываете.

+0

Да, я просто думал, что если мы не будем оставлять дубликатов запросов, то уникальные идентификаторы проекта могут быть потеряны. – Charles

+0

Это довольно сложно решить, когда мы не знаем структуру базы данных. Там _might_ являются уникальными именами для каждого Requestor. Но если нет, я бы просто перечислил все из них, используя 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 спасибо большое. Но в этом коде отображается только один «Requestor», у которого есть один «Project_id». Они не показывают других «Requestor» для других «Project_id». –

Смежные вопросы