Выберите список отображения двойного одинакового значения

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

<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? Может кто-нибудь показать мне несколько кодов. Спасибо

-1

Решение

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

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

По вопросам рекламы [email protected]