Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/03/2008, 12:51
Mattiass
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 2 meses
Puntos: 8
Re: select y listbox anidados

Lo intente pero descubir q no sirvo para esto
(no se ni lo q hice pero me quedo esto )

<?
// datos de conexion a la BD.
$servidor ="localhost"; // host
$usuario ="cipu_admin";
$clave ="admin";
$basedatos ="cipu_panaderias"; // Indicar una Base de datos.

if (!empty($_POST['enviado'])){

// Procesar el formulario ...
echo "Procesando formulario:<br>";
echo "Recibido id_tabla_padre: ".$_POST['Barrio']."<br>";
echo "Recibido id_tabla_hija: ".$_POST['Nro'];

} else {

// 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 envio a si mismo del formulario ..
$id_padre=$_POST['Barrio'];

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

// Formar Selec "Padre".
echo "<select name=\"Barrio\" onChange=\"this.form.submit()\">\n";
echo "<option value=\"\"> Seleccione un Item </option>\n";

$SQLconsulta_padre="SELECT * FROM Barrio";
$consulta_padre = mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());

While ($registro_padre=mysql_fetch_assoc($consulta_padre )){
if ($id_padre == $registro_padre['id']){
echo "<option value=\"".$registro_padre['id']."\" selected>".$registro_padre['item_texto']."</option>\n";
} else {
echo "<option value=\"".$registro_padre['id']."\">".$registro_padre['item_texto']."</option>\n";
}
}
echo "</select>\n\n";

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

// Formar Select "Hijo"
echo "<select name="panaderias"> \n";

if (!empty($id_padre)){

$SQLconsulta_hija="SELECT * FROM panaderias WHERE Barrio='$id_padre'";
$consulta_hija = mysql_query($SQLconsulta_hija,$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_hija) != 0){
While ($row = mysql_fetch_assoc($consulta_hija)){
echo "<option>$row[0]</option>";
}

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

echo "</select>\n\n";
echo "<input type=\"submit\" name=\"enviado\" value=\" Enviar \" >\n\n";
echo "</form>\n";
}

Última edición por Mattiass; 14/03/2008 a las 13:32