0

場所を尋ねる入力フォームがあります。場所はmysqlデータベースに保存され、ID(列:IDおよび列:場所)があります。

db内のこれらのレコードから生成されるドロップダウンメニューがあります。

    <select name="location">

    <?php                         
            $query="SELECT location FROM locations";
                $result=mysql_query($query) or die;

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

            $location=$row['location'];

            echo "<option>$location</option>";
    ?>

    </select>

これはすべて機能します。フォームが要約されると、明らかに「ベルギー」などのPOST[場所]が表示されます。

ベルギーが私のデータベース内の場所であり、IDが5であるとしましょう。場所ではなく、ドロップダウンボックスからPOST変数としてIDを返すにはどうすればよいですか。もちろん、IDではなく場所をドロップダウンに表示したいです。

前もって感謝します!

4

4 に答える 4

3

各オプションは値を取り、別の文字列を表示できるためvalue="my_value"、selectタグ内の各オプションに使用します

<select name="location">
    <?php                         
        $query="SELECT id, location FROM locations";
        $result=mysql_query($query);

        while ($row=mysql_fetch_array($result)) {
            echo "<option value=\"" . $row['id'] . "\">" . $row['location'] . "</option>";
        }
    ?>
</select>

これPOST['location']で、選択した場所のdbIDが含まれます

于 2012-10-29T12:29:42.460 に答える
1

場所のIDを含めるようにSQlクエリを変更すると、その値をドロップダウンで選択した値に割り当てることができます。

<select name="location">
<?php   
$query="SELECT id, location FROM locations";
$result=mysql_query($query) or die;
while ($row=mysql_fetch_array($result)) {

    $location=$row['location'];
    $id = $row['id'];
    echo "<option value='".$row['id']."'>".$location."</option>";
?>
</select>
于 2012-10-29T12:30:22.827 に答える
0
<select name="location">
<?php                         
// select columns you need, separate by , (comma)
$query = "SELECT `column1`, `column2` FROM `locations`;";
$result = mysql_query($query) or die;
while ($row = mysql_fetch_array($result)) {
    // selected columns become accessible in $row array
    // value attribute needs to be escaped here
    echo '<option value="', htmlentities($row['column1']),'">',
        htmlentities($row['column2']), '</option>'; // escape label too
    // <option> does not accept HTML in label so it should be escaped
} // done!
?>
</select>

^これ (説明のためにコメントを読んでください)

于 2012-10-29T12:31:02.850 に答える
0
select ID from locations;

$ID=$row['ID'];

もちろん、IDを列のID名に置き換えます。

あなたが場所から*を選択すると言うなら、あなたはこのようなことをすることができます:

$row['anyCOLUMNNAME']

任意の列を選択して、その特定の行からその情報を使用できます。

于 2012-10-29T12:28:59.737 に答える