2011-07-12 8 views
7
<select id="animal" name="animal">      
<option value="0">--Select Animal--</option> 
<option value="1">Cat</option> 
<option value="2">Dog</option> 
<option value="3">Cow</option> 
</select> 

if($_POST['submit']) 
{ 
$animal=$_POST['animal']; 
} 

私はこのようなドロップダウンを持っています。私が欲しいのは、PHPを使用して、ボタンの送信で選択した値とテキストを取得したいと考えています。私はそれが第1位に選ばれたならば意味します。私はと両方猫PHPはドロップダウンの値とテキストを取得します

を取得したい助けてください。ありがとうございました。

答えて

11
$animals = array('--Select Animal--', 'Cat', 'Dog', 'Cow'); 
$selected_key = $_POST['animal']; 
$selected_val = $animals[$_POST['animal']]; 

ドロップダウンリストを生成するには、$ animalsリストを使用してください。キー&をそのキーの値にすることができます。

+0

この場合、実際にはデータベースによって生成されます。 –

+1

データベースからの生成は違いはありません。データベースから取得する値を使用して、ドロップダウンリストに使用する配列を生成できます。したがって、ドロップダウンの作成に使用するサーバー側の配列がある場合は、POSTED値を取得し、データベースidにマップされた配列のキーにマップすることができます。 – john

15

これを使用していない理由はありますか?

<select id="animal" name="animal">      
    <option value="0">--Select Animal--</option> 
    <option value="Cat">Cat</option> 
    <option value="Dog">Dog</option> 
    <option value="Cow">Cow</option> 
</select> 

if($_POST['submit'] && $_POST['submit'] != 0) 
{ 
    $animal=$_POST['animal']; 
} 
+0

ありがとう、ちょうど私が必要としたい:) –

1

サーバー側で関係を保存する必要があります。この値は、フォームの転記時に送信される唯一の部分です。あなたが好きな厄介な何かができる...

<オプション値= |あなたが本当にしたい場合は「2犬」>犬< /オプション>

は、その後離れて、結果を分割し、それは醜いハックですその数が本当に一意であり、テキストとの1対1の関係を持っていると仮定した場合の帯域幅の無駄です。

最も良い方法は、配列を作成し、配列をループしてHTMLを作成することです。フォームが転記されたら、その値を使用して同じ配列内のテキストをルックアップできます。

+0

この答えに感謝します。しかし、ここで私はサンプルを投稿します。実際に私の場合は、DBを使用してこのドロップダウンを生成しました。そして、別のケースです。このテキストをそのテーブルに挿入しなかった場合、データを表示するときに3つのテーブルを結合する必要があります。 –

関連する問題