我从一个较大的MySQL表中拉出一列数据,数据可能如下所示:
apple; banana; peach; blue paper
peach; apple; car; truck; pen; computer; pencil; marker
computer
examples; etc
more; materials;
当我接受输出时,我正在尝试编写将其放入HTML选择框的PHP代码,即每个唯一值。例如,我不需要看苹果两次或计算机,我希望下拉列表看起来像这样:
apple
banana
peach
blue paper
car
truck
etc...
这是我的PHP代码。我无法弄清楚如何获取输出并将其分开并使其独特并再次分离。我的假设是我必须使用$rowmod
并在其上运行某种while循环。
while ($row = mysql_fetch_assoc($productlist))
{
$rowmod = strtr($row['product']," ","_");
$rowmod = strtr($row['product'],"; ", "\n");
echo "<option value='$rowmod'>$rowmod</option>";
}
答案 0 :(得分:1)
首先构建产品列表,删除重复项,然后在第二个循环中吐出<option>
。
$products = array();
while ($row = mysql_fetch_assoc($productlist))
{
$names = explode('; ', $row['product']);
$products = array_merge($products, $names);
}
$products = array_unique($products);
foreach ($products as $product)
{
echo "<option value='$product'>$product</option>";
}