2011-07-12 127 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']; 
} 

Tengo un menú desplegable como este. Lo que quiero, quiero obtener el valor seleccionado y el texto en el botón enviar usando PHP. Quiero decir si es seleccionado primero. Quiero obtener ambos y CatPHP obtener valor desplegable y texto

Por favor ayuda. gracias.

Respuesta

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

Usa tu lista de $ animals para generar tu lista desplegable; ahora puede obtener la clave & del valor de esa clave.

+0

En realidad, en este caso, menú desplegable generado por la base de datos. –

+1

Generar desde una base de datos no hace diferencia. Puede generar una matriz para usar en su lista desplegable utilizando los valores que recupera de la base de datos. Por lo tanto, tiene una matriz del lado del servidor para usar para crear la lista desplegable, puede obtener el valor PUBLICADO y asignarlo a la clave en la matriz que se correlaciona con la ID de la base de datos. – john

15

¿Hay alguna razón por la que no haya usado esto?

<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

gracias, solo quiero que necesite :) –

1

Deberá guardar la relación en el lado del servidor. El valor es la única parte que se transmite cuando se publica el formulario. Se podía hacer algo desagradable como ...

< option value = "2 | perro"> Perro </option>

A continuación, dividir el resultado aparte, si realmente quería hacerlo, pero eso es un truco feo y un desperdicio de ancho de banda suponiendo que los números son verdaderamente únicos y tienen una relación de uno a uno con el texto.

La mejor manera sería crear una matriz y recorrer la matriz para crear el código HTML. Una vez que se haya publicado el formulario, puede usar el valor para buscar el texto en esa misma matriz.

+0

gracias por esta respuesta. Pero aquí publico una muestra solamente. En realidad, en mi caso generé este menú desplegable usando DB. Y otro caso es: si no inserté este texto en esa tabla en particular, debería unirme a 3 tablas cuando muestre datos. –

Cuestiones relacionadas