4

「Make」という名前のコンボボックスがあります。そのコンボ ボックスに、車両メーカー名をロードしています。SEARCHボタンをクリックすると、選択したメーカー名を表示したい。以下は私のHTMLコードの一部です。

<label for="Manufacturer"> Manufacturer : </label>
<select id="cmbMake" name="Make" >
   <option value="0">Select Manufacturer</option>
   <option value="1">--Any--</option>
   <option value="2">Toyota</option>
   <option value="3">Nissan</option>
</select>

<input type="submit" name="search" value="Search"/>

以下は、これまでに行ったPHPコードです。

 <?php

if(isset($_POST['search']))
{
    $maker = mysql_real_escape_string($_POST['Make']);
    echo $maker;
    }
 ?>

コンボボックスからToyotaを選択してSEARCHボタンを押すと、「2」という答えが得られます。それは、「トヨタ」の価値を私に与えてくれるということです。しかし、「トヨタ」という名前を表示したいのです。どうやってやるの?私を助けてください ....

4

7 に答える 7

7

これで試してみてください。$_POST['Make'] で選択ボックスの値を取得し、$_POST['selected_text'] で名前を取得します。

<form method="POST" >
<label for="Manufacturer"> Manufacturer : </label>
  <select id="cmbMake" name="Make"     onchange="document.getElementById('selected_text').value=this.options[this.selectedIndex].text">
     <option value="0">Select Manufacturer</option>
     <option value="1">--Any--</option>
     <option value="2">Toyota</option>
     <option value="3">Nissan</option>
</select>
<input type="hidden" name="selected_text" id="selected_text" value="" />
<input type="submit" name="search" value="Search"/>
</form>


 <?php

if(isset($_POST['search']))
{

    $makerValue = $_POST['Make']; // make value

    $maker = mysql_real_escape_string($_POST['selected_text']); // get the selected text
    echo $maker;
}
 ?>
于 2013-08-16T08:48:27.260 に答える
1

これは、新しい配列を作成することで実現できます。

<?php
$array = array(1 => "Toyota", 2 => "Nissan", 3 => "BMW");

if (isset ($_POST['search'])) {
  $maker = mysql_real_escape_string($_POST['Make']);
  echo $array[$maker];
}
?>
于 2013-08-16T07:43:04.283 に答える