2011-12-08 19 views
0

selectタグはPHP echoコマンドでデータベースから生成されています。投稿後の値の取得フォーム

私のselect要素を含むフォームを投稿した後、オプションタグ内の値と同様に(オプションタグ間)の内容を取得できます。だから私がボルボを選んでフォームを提出すれば。私はVolvoと1を検索したい。

<select name='car'> 
    <option value='1'>Volvo</option> 
    <option value='2>Saab</option> 
    <option value='3>Mercede</option> 
    <option value='4>Audi</option> 
</select> 

これは値を取得するだけです。

$_POST['car'] 

どうすれば検索できますか?

答えて

1

あなたは問題がselectタグは、データベースからのPHPファイルから動的に生成されていることである

$value[0]= 1 
$value[1]= Volvo 
+0

あなたはそれを行うことができますが、入力の妥当性を確認するには(とにかく)データベース内のIDを検索する必要があります。 – PiTheNumber

+0

はうまく動作します..... – SupaOden

+0

はい、私はこれを何度も試してみましたが、値段に応じて別の配列を定義する必要があります。 –

2

できません。しかし、あなたは1が常にボルボであることを知っています。

だけの配列に保管してください:

$cars = array('Volvo', 'Saab,' 'Mercede', 'Audi'); 
$car_name = $cars[$_POST['car']]; 

あなたはまた、配列から選択を生成することができますこの方法:

<select name='car'> 
    <? foreach ($cars as $key => $car_name): ?> 
    <option value='<?= $key ?>'><?= $car_name ?></option> 
    <? endforeach; ?> 
</select> 
+0

を取得し、この

<select name='car'> <option value='1,Volvo'>Volvo</option> </select> 

$value = explode(",",$_POST['car']); 

のように取得することができます。 – SupaOden

+0

したがって、データベース内の名前を参照してください。 – PiTheNumber

1

を、あなたの提出を操作するためのjQueryを使用している場合を除き、あなたができますvalue属性を変更して、オプションの内容と同じ単語を含めるだけです。ただし、オプションの内容から抽出したPOSTデータを送信することはできません。

関連する問題