Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/12/2009, 08:02
Rafagedon
 
Fecha de Ingreso: septiembre-2006
Mensajes: 97
Antigüedad: 17 años, 8 meses
Puntos: 1
Por favor ayuda

Hola buenas, hace un tiempo que ya estoy sin poder avanzar lo que estoy realizando ya que no logro solucionar mi problema con listbox desplegables.

Se trata de un listbox padre y un listbox hijo.
Cuando despliego el listbox padre y selecciono un valor, la pagina se carga denuevo y genera el codigo id del padre y lo lanzo a un textbox.

Pero no logro realizarlo con el listbox hijo, estoy haciendolo de una u otra forma, pero no entiendo qué pasa.
Ya lo realicé con el padre pero no puedo con el hijo, espero alguien pueda ayudarme ya que estoy sin poder avanzar y paso horas tratando de lograrlo, pero no puedo :(

Código PHP:

<?php
// datos de conexión a la BD.
$servidor ="localhost"// host
$usuario ="root";
$clave ="";
$basedatos ="inventario"// Indicar una Base de datos.





// Conexión a la BD
$conexion mysql_connect($servidor$usuario$clave) or die(mysql_error());
mysql_select_db($basedatos$conexion) or die(mysql_error());


// Obtener el $id_padre del envío a sí mismo del formulario ...

if (isset($_POST['id_equipo']) && ($_POST['id_interno']) )
{
$id_equipo  =$_POST['id_equipo'];
$id_interno $_POST['id_interno'];
}


// Inicio Formulario .. PHP_SELF enviamos a sí mismo (a este script).
echo "<form action='".$_SERVER['PHP_SELF']."' method='POST'>\n\n";


// Formar Selec "Padre".
echo "Tipo de Equipo :<select name='id_equipo' onChange='this.form.submit()'>\n";
echo 
"<option value=''> ------Seleccione------ </option>\n";

$SQLconsulta_equipo="SELECT * FROM equipos";
$consulta_equipo mysql_query($SQLconsulta_equipo,$conexion) or die(mysql_error());

while (
$registro_equipo=mysql_fetch_assoc($consulta_equipo)){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
$selected= ($id_equipo == $registro_equipo['id_equipo']) ? 'selected="selected"' '';
echo 
"<option value='".$registro_equipo['id_equipo']."' $selected>".$registro_equipo['nom_equipo']."</option>\n";
}
echo 
"</select>\n\n";

mysql_free_result($consulta_equipo); // Liberar memoria usada por consulta.

// Formar Select "Hijo"


echo "Código de Equipo : <select name='id_interno' onChange='this.form.submit()' >\n";

// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opción del select hijo
// se muestra el mensaje de "seleccine un item" (del select padre).
if (!empty($id_equipo))
{

$SQLconsulta_interno="SELECT * FROM cod_internos WHERE id_equipo='$id_equipo'";
$consulta_interno mysql_query($SQLconsulta_interno,$conexion) or die(mysql_error());
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
if (mysql_num_rows($consulta_interno) != 0)
{
while (
$registro_interno=mysql_fetch_assoc($consulta_interno))
{
$selected= ($id_interno == $registro_interno['id_interno']) ? 'selected="selected"' '';
echo 
"<option value='".$registro_interno['id_interno']."' $selected>".$registro_interno['num_equipo']."</option>\n";
}
}
else {
echo 
"<option value=''> No hay registros para este equipo</option>";
}
} else
{
echo 
"<option value=''>Código Equipo</option>";
}


mysql_free_result($consulta_hija); // Liberar memoria usada por consulta.

echo "</select>\n\n";
echo 
"</form>\n";

?>


<!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>Untitled Document</title>
</head>

<body>

<input name='id_equipo' type='text' value='<?php printf ($id_equipo["id_equipo"]);?>'  />
                <input name='id_interno' type='text' value='<?php printf ($id_interno['id_interno']);?>'  />
</body>
</html>