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>