У меня есть список, который содержит имена людей. В столбце «Запросчик» есть много имен, которые повторяются с тем же именем. Поэтому, когда я создаю список, имя показывает все имя, а какое-то имя показывает более одного с тем же именем. Как я могу сделать так, чтобы имя вышло только одно. Ниже приведены мои коды.
<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? Может кто-нибудь показать мне несколько кодов. Спасибо
Что ж, если есть несколько строк с одним и тем же «Запросчиком», но с другим «Project_id», то так оно и будет. Вы можете выбрать отличительные по Requestor в вашем SQL, но это не даст вам понять, на какую запись вы указываете.
Поместите ваши значения в массив и что-то вроде 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>