PHP / MySQL下拉列表有多列,语法不佳

问题描述

| 我正在尝试获取一个下拉列表,以显示一个表中的多列,并将所选行的主ID存储在变量名中。 如果删除CONCAT函数并选择一个列,则会得到一个行列表,但我不知道如何选择多个。我究竟做错了什么?
<li>
    <?PHP 
    $sql=\"SELECT CONCAT(county,\' \',municipality,park),id FROM mtmg.locality\";
    $result=MysqL_query($sql,$connection);

    echo \'<label for=\"county_municipality_park\">County,Municipality,Park</label>\';
    echo \'<select  id=\"county_municipality_park\" name=\"county_municipality_park\">\';

    while ($row = MysqL_fetch_assoc($result)) {echo \'<option value=\"\'.$row[\'county,park\'].\'\">\'.$row[\'county,park\'].\'</option>\';}
    echo MysqL_error();

    echo \'</select>\';
    ?>
</li>
    

解决方法

您需要给您的CONCAT()函数一个别名,例如
SELECT CONCAT(county,\' \',municipality,park) as county_municipality_park,id FROM ...
然后在
$row
数组(即
$row[\'county_municipality_park\']
)中引用它。     ,尝试这个
$sql=\"SELECT CONCAT(county,park) as location,id FROM mtmg.locality\";
然后用
$row[\'location\']