我想在下拉列表中显示来自mysql表的一列的数据,但是在下拉列表中它会显示每个条目两次。但我只想要它一次

时间:2013-08-04 12:48:06

标签: php html mysql

|===============================|
| customer_id  | customer_name  |
|===============================|
|  1           |      vick      |
|  2           |      bawa      |
|  3           |      smith     |
|  4           |      goldy     |
|  5           |      jojo      |
=================================

表格中有两列。我已经应用了以下查询。但是它显示了每个名字两次,但我希望每个名字在下拉列表中都有一次。

请告诉我如何在下拉列表中只显示一次每个名字....我的第二个问题是..我想把选定的值带到下一页....但首先问题是如何显示来自customer_name的每个名字单次...但它显示每个名字两次....谢谢先生

<table>
<tr>  
<td>customer name</td>  
<td><select name="customer_name">  
<?php  
$query = 'SELECT customer_id, customer_name FROM customer_table';  

$result = mysql_query($query, $db) or die(mysql_error($db));  

while ($row = mysql_fetch_assoc($result))  
{  
  foreach ($row as $value)  
  {  
    echo '<option value="' . $row['customer_id'] . '"> ' . $row['customer_name'] . '</option>';  
  }  
}  
?>  
</select></td>  
</tr>  
</table> 

2 个答案:

答案 0 :(得分:2)

你的诉讼: 不需要每个......

while ($row = mysql_fetch_assoc($result))  
{  

echo '<option value="' . $row['customer_id'] . '"> ' . $row['customer_name'] .     '</option>';  

}  

答案 1 :(得分:1)

这里有2个循环,可以重复它。只需删除foreach($row as $value)循环即可获得结果。

while ($row = mysql_fetch_assoc($result))  
{  
    echo '<option value="' . $row['customer_id'] . '"> ' . $row['customer_name'] . '</option>'; 
} 

这样可行。