2011-05-23 15 views
1

テーブルから複数の列を表示し、選択した行のプライマリIDを変数名に格納するためのドロップダウンリストを取得しようとしています。複数の列があり、構文に問題があるPHP/MySQLのドロップダウンリスト

CONCAT関数を削除して1つの列を選択すると、行のリストが表示されますが、複数の列を選択する方法がわかりません。私は間違って何をしていますか?

<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,municipality,park'].'">'.$row['county,municipality,park'].'</option>';} 
    echo mysql_error(); 

    echo '</select>'; 
    ?> 
</li> 
+0

はすべて文字列の値ですか? – Amirshk

答えて

1

を使用し、この

$sql="SELECT CONCAT(county, ' ',municipality, ' ',park) as location , id FROM mtmg.locality"; 

を試してみては)、

SELECT CONCAT(county, ' ',municipality, ' ',park) as county_municipality_park, id FROM ... 

のようなものをエイリアス機能して、としてそれを参照します$rowアレイのように、すなわち$row['county_municipality_park']

+0

@SabeenMalik @spankyすばらしい説明!もう一つ、これはすべての値がnullでない場合にのみ機能します。部分的な結果を表示する方法はありますか? – user81997

+1

私は、郡、自治体、および公園を別々に選択してから、それらをすべてPHPで一緒に参照することがあります。 $ row配列に入れると、PHPはNULLと空白の値を同じにするので、 '$ row ['county_municipality_park']'をエコーする代わりに '$ row ['county']をエコーすることができます。 $行['自治体']。 ' $行['公園'] '。それはあなたが探しているものですか? – spanky

+0

素晴らしい!これはまさに私が探していたものです。最後に、私はまだこれをテストすることができませんでしたが、現在のクエリに基づいています: '$ sql =" SELECT county、municipality、park、id FROM mtmg.locality ";'は、 SELECTが表示され、$ _POST ['county_municipality_park']に格納される最終値(id)は表示されますか?私は私の仕事と一緒に行くとPHP/MySQLを学ばなければならないので、これは私にはまだ分かりません。 – user81997

1

あなたは(あなたのCONCATを与える必要があり$row['location']

関連する問題