Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/09/2009, 12:01
LePanthere
 
Fecha de Ingreso: septiembre-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problemas con combobox-Mysql

Ufff que pedazo !! sorry bro's aqui lo pongo nuevamente.

Al parecer le movi algo, por que me carga la información pero al seleccionarla en el combo no pasa nada y se queda la opción por default.....

este php lo encontre aqui en las faq's y lo adapte a mi codigo pero si saben de alguno más simple estaría mejor.

Gracias.

Código PHP:
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<!-------------------------------------------------------------------------- Inicia Formulario ----------------------------------------------------------------------------->
<h2 style="font-family:Arial" "border-width:1px" "border-style:solid" "border-color:#000000">Carros</h2>
<form action="" method="post" name="form"> 
  <fieldset>
<legend><b>Formulario de venta</b></legend>
<Table>
<TR></TR>
<TR></TR>
<?php
// datos de conexión a la BD.
$servidor  ="localhost"// host
$usuario   =""
$clave     ="";
$basedatos ="base_datos"// Indicar una Base de datos.
 
// si se ha pulsado el botón enviar ($enviado) se procesa el formulario ...
// Sino, se continua con el formulario y los nuevos valores de los Select ...
// OJO si se tienen más varibles (más <input> ) se van a perder sus valores a no ser
// que los obtengamos y se les de como valor inicial en el value= de cada uno según corresponda.
 

   // 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 ...
   
$id_padre=$_POST['id_marca'];
 
   
// Inicio Formulario .. PHP_SELF enviamos a sí mismo (a este script).
   
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">";

   
// Formar Select "Padre".
   
echo "Selecciona la marca :";
   echo 
"<select name=\"id_padre\" onChange=\"this.form.submit()\">";
   echo 
"<option value=\"\"> Seleccione un Item </option>";
 
   
$SQLconsulta_padre="SELECT * FROM marca";
   
$consulta_padre mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());
 
   While   (
$registro_padre=mysql_fetch_assoc($consulta_padre)){
      
// 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.
      
if ($id_padre == $registro_padre['id_marca']){
         echo 
"<option value=\"".$registro_padre['id_marca']."\" selected>".$registro_padre['marca']."</option>\n";
      } else {
         echo 
"<option value=\"".$registro_padre['id_marca']."\">".$registro_padre['marca']."</option>\n";
      }
    }
   echo 
"</select>\n\n\n";
 
   
mysql_free_result($consulta_padre); // Liberar memoria usada por consulta.
 
   // Formar Select "Hijo"
      
echo "Selecciona el modelo :";
   echo 
"<select name=\"id_hija\">";
 
   
// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opción del select hijo
   // se muestra el mensaje de "seleccione un item" (del select padre).
   
if (!empty($id_padre)){
 
       
$SQLconsulta_hija="SELECT * FROM modelo WHERE id_marca='$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   (
$registro_hija=mysql_fetch_assoc($consulta_hija)){
            echo 
"<option value=\"".$registro_hija['id_modelo']."\">".$registro_hija['modelo']."</option>";
          }
        } else {
            echo 
"<option value=\"\"> No hay registros para este Item </option>";
        }
    } else {
        echo 
"<option value=\"\"> <-- Seleccione un Item  </option>";
    }
 
    
mysql_free_result($consulta_hija); // Liberar memoria usada por consulta.
 
    
echo "</select>\n";
        
?>
<TR><TD> Su precio es :</TD>
<TD><input type="text" name="price" SIZE="5" MAXLENGTH="5"></TD>
<TR></TR>
</TR>
</Table>
<br>
<input type="button" name="Registrar" value="Registrar" onClick="">
  </fieldset>
</form>
</body>
</html>

Última edición por LePanthere; 10/09/2009 a las 13:00