PHP - Duda con un script que carga un select multiple

 
Vista:

Duda con un script que carga un select multiple

Publicado por Cesar Noriega (3 intervenciones) el 20/09/2007 22:17:29
Buenas tardes,tengo una pequeña duda acerca de este script,se trta de q la pag muestra una imagen y hay un form donde se le pide el usuario el nombre y su voto del 1 al 10 por medio de un select lo que quiero es que se muestre en la misma pagina algo asi como esto:
Nombre: Cesar
Voto:10

pero tengo dudas en como recorrer el arreglo de options en un ciclo y procesar eso y no hacer 10 if o un switch de 10 cases,aqui esta el script:
---------------------------------index.php-----------------------------------

<html>
<head>
<title> Ejemplo sin ajax </title>
</head>
<body>
<center>
<h1>Vote esta foto</h1>
<div>
<p>
<img src="kenshin4.jpg" alt="Salvapantallas de ana kournikova">
</p>
</div>
<div align= "center">
<form action= "<?php echo $_SERVER['PHP_SELF']; ?>" name= "vot_img" id= "vot_img" method = "get">
<table align ="center" style="top:10px">

<tr>

<td> Nombre:</td>
<td><input type= "text" name="nombre"/></td>
</tr>
<tr>

<td>Votar</td>
<td>
<select id="voto[]" name= "voto[]">
<option value="0" selected>seleccione</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</td>
</tr>
<tr >
<td align ="center"><input type="submit" name="submit" value="Enviar"/></td>
</tr>
</table>
</form>
</div id= "resultados">
<?php

if(isset($_POST['submit']))
{
for ($i=0; count($_POST['voto']);$i++)
{
echo 'Nombre:'.$_REQUEST['nombre'];
echo "<br><br>"
echo 'Voto:'. $_REQUEST['voto[i]'];
}
}

?>
<div>
</center>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda con un script que carga un select multiple

Publicado por Soraya (41 intervenciones) el 20/09/2007 22:53:43
Hola, descubri algunos errores en tu código.

Te copio el código corregido y abajo te comento lo que debes hacer para que te funcione:

<form action= "<?php echo $_SERVER['PHP_SELF']; ?>" name= "vot_img" id= "vot_img" method = "get">
<table align ="center" style="top:10px">

<tr>

<td> Nombre:</td>
<td><input type= "text" name="nombre"/></td>
</tr>
<tr>

<td>Votar</td>
<td>
<select id="voto" name= "voto"> <!-- AQUI NO ES NECESARIO QUE EL NOMBRE LO PONGAS COMO UN ARRAY, EL VALOR QUE SELECCIONES SE ENVIA COMO UN UNICO VALOR -->
<option value="0" selected>seleccione</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</td>
</tr>
<tr >
<td align ="center"><input type="submit" name="submit" value="Enviar"/></td>
</tr>
</table>
</form>
</div id= "resultados">
<?php

if(isset($_GET['submit'])) /*AQUI EN TU CODIGO ESTABAS PREGUNTANDO SI LA VARIABLE SUBMIT HA SIDO ENVIADA POR POST LO CUAL NO ES POSIBLE YA QUE EN TU FORM DECLARASTE QUE EL METODO ES GET*/
{
echo 'Nombre:'.$_REQUEST['nombre'];
echo "<br><br>"; //AQUI TE FALTA UN PUNTO Y COMA

echo 'Voto:'. $_REQUEST['voto'];/*NO ES NECESARIO HACER UN FOR PARA OBTENER EL VALOR SELECCIONADO EN EL SELECT SIMPLEMENTE LO HACES COMO PARA CUALQUIER VARIABLE CON EL METODO Y ENTRE CORCHETES EL NOMBRE DEL CAMPO*/
}

?>

Bueno espero haber ayudado, si no es lo que querías consultanos de nuevo y te ayudamos.

Saludos
Soraya
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar