Foros del Web » Programando para Internet » PHP »

Combobox dinamico

Estas en el tema de Combobox dinamico en el foro de PHP en Foros del Web. Hola, ando con un problema en el Combobox dinamico y ya no se como solucionarlo, mire foros por todos lados... Una vez q selecciono el ...
  #1 (permalink)  
Antiguo 04/05/2011, 21:28
 
Fecha de Ingreso: mayo-2011
Mensajes: 2
Antigüedad: 11 años, 1 mes
Puntos: 0
Combobox dinamico

Hola, ando con un problema en el Combobox dinamico y ya no se como solucionarlo, mire foros por todos lados... Una vez q selecciono el primer comobo "Id_Area" me aparece el siguente problema:

Notice: Undefined index: Id_Puesto in C:\wamp\www\Sistema\Guardar_OrgEmpleados.php on line 20

El codigo es el siguente:

<body>

<?php

$conexion = mysql_connect("localhost", "root", "");
$bd = mysql_select_db("mgd");

$a = ("SELECT * FROM area ORDER BY Descripcion ASC");
$res = mysql_query($a, $conexion);

?>

<div id="apDiv3">
<form action="Guardar_OrgEmpleados.php" method="post" name="FormEmpleados" id="FormEmpleado">

<table width="264" border="1">
<tr>
<td width="104">Legajo</td>
<td width="144"><input name="Legajo" type="text" id="Legajo" /></td>
</tr>
<tr>
<td>Apellido </td>
<td><input name="Apellido" type="text" id="Apellido" /></td>
</tr>
<tr>
<td height="26">Nombre</td>
<td><input name="Nombre" type="text" id="Nombre" /></td>
</tr>
<tr>
<td>Area </td>
<td><select name="Id_Area" id="Id_Area" onchange="submit()">
<option value=" "></option>
<?php
while ($fila = mysql_fetch_array ($res)){
echo "<option value=".$fila["Id_Area"].">".$fila["Descripcion"]."</option>";
$area == $fila["Id_Area"];
}?>
</select></td>
</tr>
<tr>
<td>Puesto</td>
<td><select name="Id_Puesto" id="Id_Puesto">
<option value=" "></option>
<?php
If ($area!="0"){
$b = ("SELECT * FROM puesto WHERE Id_Area='$area'ORDER BY Descripcion ASC");
$res2 = mysql_query($b, $conexion);
while ($fila = mysql_fetch_array ($res2)){
echo "<option value=".$fila["Id_Puesto"].">".$fila["Descripcion"]."</option>";
}}
?>
</select></td>
</tr>
<tr>
<td>Foto </td>
<td>&nbsp;</td>
</tr>
</table>
<p>
<input type="submit" name="Guardar" id="Guardar" value="Guardar" />
</p>

</form></div>
?>
</body>
</html>


Muchas gracias!
  #2 (permalink)  
Antiguo 04/05/2011, 23:15
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 18 años, 11 meses
Puntos: 21
Respuesta: Combobox dinamico

mmm creo que lo que tratas de hacer es que los combos por default estan vacios excepto el primero
bueno con php asi por si solo no lo hace tendrias que recargar la pagina y hacer unos pasos guardado el valor de combox preseleccionado podrias combinarlo usando ajax o un framework
yo te recomiendo jquery he aqui un ejemplo

http://www.miguelmanchego.com/2009/c...s-ajax-jquery/

saludos
__________________
gerardo
  #3 (permalink)  
Antiguo 05/05/2011, 00:55
 
Fecha de Ingreso: mayo-2011
Mensajes: 2
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Combobox dinamico

Muchas gracias Chalchis pero en tu ejemplo las variables son estaticas, yo quiero q estas sean dinamicas... O estoy entendiendo mal?
  #4 (permalink)  
Antiguo 05/05/2011, 08:57
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 18 años, 11 meses
Puntos: 21
Respuesta: Combobox dinamico

bueno esto es un ejmplo podrias volverlo dinamico ya sea realizando
conexiones a la base de datos , haciendo condiciones y podrias usar
json para devolver los datos

claro que para usar json se tendria que a ver solicitado desde jquery
que vas ah retornar unn objeto json

ejemplo

Código:
<html>
	<head>
		<meta http-equiv="Content-type" content="text/html; charset=utf-8">
		<title>Demo de listas desplegables dependientes accesibles</title>
		<script type="text/javascript" src="jquery.js"></script>
		<script type="text/javascript" charset="utf-8">
		$(document).ready(function(){
			// quita el boton si tiene javascript
			// otra opción es añadir una clase que oculte el boton por CSS
			$("#recarga").remove();
		});
		
		// si cambia la primera lista "ctljob" ejecuta SELECT.PHP que devuelve los datos en formato JSON
		// y rellena con esos datos la lista dependiente "ctlPerson"
		$(function(){
			$("select#ctljob").change(function(){
				$.getJSON("select.php",{id: $(this).val()}, function(j){
					var options = '';
					for (var i = 0; i < j.length; i++) {
						options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
					}
					$("#ctlPerson").html(options);
					$('#ctlPerson option:first').attr('selected', 'selected');
				})
			})			
		})
		</script>
	</head>
 
	<body>
		<h1>Demo de listas desplegables dependientes accesibles</h1>
		
		<p>Volver al artículo explicativo: <a href="../listas-dependientes-accesibles-jquery.php">listas desplegables dependientes accesibles con jquery</a></p>
	
		<form name="form1" id="form1" method="post" action="/listas/index.php">
			<p>Selecciona un dato de la primera lista desplegable.</p>
		
			<p><label for="ctljob">Categoría: <select id="ctljob" name="ctljob">
				<option value="0">Selecciona</option>
				<option value="1">Jefes</option>
				<option value="2">Desarrolladores</option>
				<option value="3">Diseñadores</option>
			</select></label>
			
			 <input type="submit" name="recarga" id="recarga" value="Carga personas" /></p>
			
			<p><label for="ctlPerson">Personas: <select id="ctlPerson">
<option value="0">Selecciona</option>
			</select></label></p>
			
			<input type="submit" name="postback" id="postback" value="Enviar" />
		</form>
		
		<p></p>
	</body>
</html>
en el archivo php

Código:
<?php 

$txtMensaje = ""; 
$txtIdCategoria = "0"; 

if (isset($_POST["recarga"])) { 
    // realiza el rellenado del selector de personas 
    $txtIdCategoria = $_POST["ctljob"]; 
     
    // muestra un mensaje de aviso 
    $txtMensaje = "Ha seleccionado: " . $txtIdCategoria; 
} 

if (isset($_POST["postback"])) { 
    $txtMensaje = "Formulario enviado."; 
     
    // realiza el proceso con todos los datos del formulario 
} 


function getIndividual($id) { 
    // rellena la lista dependiente de acuerdo con el valor que recibe de parametro 
     
    // esto se puede sustituir facilmente por un acceso a base de datos 
     
    if ($id == 0) { 
        $names = array('0' => 'Selecciona'); 
    } else if ($id == 1) { 
        $names = array('1' => 'Antonio', '2' => 'Pedro', '3' => 'Carlos'); 
    } else if ($id == 2) { 
        $names = array('11' => 'Oscar', '12' => 'Raquel', '13' => 'Ainara'); 
    } else if ($id == 3) { 
        $names = array('21' => 'Francisco', '22' => 'Rosa'); 
    } 
     
    return $names; 
}
__________________
gerardo
  #5 (permalink)  
Antiguo 05/05/2011, 10:54
 
Fecha de Ingreso: abril-2011
Ubicación: Iquitos, Peru
Mensajes: 113
Antigüedad: 11 años, 2 meses
Puntos: 31
Respuesta: Combobox dinamico

full ajax amigo, te recomiendo este ejemplo, muy facil de entender

[URL="http://www.formatoweb.com.ar/ajax/select_dependientes.php"]http://www.formatoweb.com.ar/ajax/select_dependientes.php[/URL]

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:52.