PHP - mostrar valor segun lista desplegable

 
Vista:

mostrar valor segun lista desplegable

Publicado por John Jairo Palma (7 intervenciones) el 14/12/2006 23:23:14
buenas a todos , tengo la siguiente pregunta, tengo una lista desplegable con ciertos valores que los trae de una consulta y la idea es que segun el valor que yo escoja me ponga en una caja de texto otro dato perteneciente a ese registro:

hasta el momento tengo esta parte de codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
echo '<FORM METHOD="POST" ACTION="Actualizar_Asignacion1.php">Numero de Invitacion<br>';
$consulta="Select NumeroInvitacion, ValorInvita from invitacion"
$result=mysql_query($consulta);
echo '<select name="NumeroInvitacion">';
 
//Aqui genero la lista desplegable segun los datos de la consulta
 
while ($row=mysql_fetch_array($result))
{echo '<option>'.$row["NumeroInvitacion"]}
echo'</select>';
?>
 
<br /><br />
Valor Invitacion
<br>
 
<INPUT TYPE="TEXT" NAME="ValorInvita"><br>  // este es el campo que debe recibir el ValorInvita dependiendo de que registro se haya seleccionado en la lista desplegable
<INPUT TYPE="SUBMIT" value="Actualizar">
</FORM>

muchas gracias a todos por la colaboracion prestada
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:mostrar valor segun lista desplegable

Publicado por ludwing (57 intervenciones) el 15/12/2006 09:43:48
Con javascript, la manera más simple (según mi punto de vista...), sería:

1) Ponle un nombre al formulario:
<FORM METHOD="POST" ACTION="Actualizar_Asignacion1.php" NAME="f1">

2) Guarda los valores en el "value" del "option" (por cierto, hay que cerrar el "option")
{echo '<option value="'.$row["ValorInvita"].'">'.$row["NumeroInvitacion"].'</option>'}

3) Cuando cambie el valor seleccionado en la lista cambiamos el campo de texto:
echo '<select name="NumeroInvitacion" onchange="javascript:document.f1.ValorInvita.value=document.f1.NumeroInvitacion.options[document.f1.NumeroInvitacion.selectedIndex].value;">';

Con esto sería suficiente (siempre y cuando no se me halla olvidado algo...). Bueno, yo pondría un primer valor en la lista para obligar a seleccionar algo. Sería poner lo siguiente antes del "while" que genera las opciones de la lista:
echo '<option value="">seleccione un numero de invitacion</option>';

Suerte!
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

utiliza este codigo

Publicado por yenny (1 intervención) el 03/01/2007 05:01:55
utiliza este codigo a mi me sirve perfectamente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
$query_Paises = "SELECT * FROM estado ORDER BY descripcion ASC";
$Paises = mysql_query($query_Paises);
$row_Paises = mysql_fetch_assoc($Paises);
$totalRows_Paises = mysql_num_rows($Paises);
//End NeXTenesio Special List Recordset
 
//NeXTenesio Special List Recordset
$colname_Provincias = "-1";
if (isset($_REQUEST['id_pais'])) {
  $colname_Provincias = $_REQUEST['id_pais'];
}
 
$query_Provincias = sprintf("SELECT cod_mun, descripcion FROM municipio WHERE cod_est = '%s' ORDER BY descripcion ASC", $colname_Provincias);
$Provincias = mysql_query($query_Provincias);
$row_Provincias = mysql_fetch_assoc($Provincias);
$totalRows_Provincias = mysql_num_rows($Provincias);
//End  List Recordset
?>
<?php
// verifico si tengo seleccionado algo del combo
  	if (isset($_REQUEST['id_pais']))
  	{	$estado=$_REQUEST['id_pais'];  	}
  	else
  	{ $estado=""; 	}
 
 
?>
            <select name="id_pais" id="id_pais" onChange="submit()">
             <option value="" <?php if (!(strcmp("", $estado))) {echo "SELECTED";} ?>>Seleccionar</option>
              <?php
	do {
	?>
			<option value="<?php echo $row_Paises['cod_est']?>"
			<?php if (!(strcmp($row_Paises['cod_est'],$estado))) {echo "SELECTED";} ?>>
			<?php echo $row_Paises['descripcion']?></option>
	<?php
	} 		while ($row_Paises = mysql_fetch_assoc($Paises));
  			$rows = mysql_num_rows($Paises);
  			if($rows > 0)
			{
      			mysql_data_seek($Paises, 0);
	  			$row_Paises = mysql_fetch_assoc($Paises);
  			}
}
?>
         </select>
 
<?php
  if (isset($_REQUEST['id_provincia']))
  {
  $municipio=$_REQUEST['id_provincia'];
  }
  else
  {
  $municipio="";
  }


ahora el de provincias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
?>            <select name="id_provincia" id="id_provincia" onChange="submit()">
              <option value="" <?php if (!(strcmp("",$municipio))) {echo "SELECTED";} ?>>Seleccionar</option>
              <?php
do {
?>
              <option value="<?php echo $row_Provincias['cod_mun']?>"
			  <?php if (!(strcmp($row_Provincias['cod_mun'],$municipio))) {echo "SELECTED";} ?>>
			  <?php echo $row_Provincias['descripcion']?></option>
<?php
	} while ($row_Provincias = mysql_fetch_assoc($Provincias));
  	  $rows = mysql_num_rows($Provincias);
  	  if($rows > 0)
	  {
      mysql_data_seek($Provincias, 0);
	  $row_Provincias = mysql_fetch_assoc($Provincias);
  	  }
}
?>
        </select>
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

RE:mostrar valor segun lista desplegable

Publicado por eunice (2 intervenciones) el 15/05/2013 19:42:42
Ya probe tu codigo pero cuando le doy en una opcion del combo en el campo de texto me dice undefined.. nos e si sea porq no supe que mas sigue en el onchange.. yo lo puse asi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
echo '<FORM METHOD="POST" ACTION="Actualizar_Asignacion1.php" name="f1">';
include("conexion.php");
$consulta="Select NombreInvitacion,ValorInvita from invitacion";
$result=mysql_query($consulta);
 
 
echo '<select name="NombreInvitacion" onchange="javascript:document.f1.ValorInvita.value=document.f1.NombreInvitacion.
options[document.f1.NombreInvitacion]">';
 
//Aqui genero la lista desplegable segun los datos de la consulta 
echo '<option value="">seleccione un nombre de invitacion</option>';
while ($row=mysql_fetch_array($result))
 
{echo '<option value="'.$row["ValorInvita"].'">'.$row["NombreInvitacion"].'</option>';}
 
echo'</select>';
 
?>
<br /><br />
Valor Invitacion
<br>
<INPUT type="TEXT" name="ValorInvita" id="ValorInvita"><br>
<INPUT type="SUBMIT" value="Actualizar">
</FORM>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
 
<body>
 
</body>
</html>
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

RE:mostrar valor segun lista desplegable

Publicado por eunice (2 intervenciones) el 15/05/2013 19:43:41
Ya probe tu codigo pero cuando le doy en una opcion del combo en el campo de texto me dice undefined.. nos e si sea porq no supe que mas sigue en el onchange..
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