Foros del Web » Programando para Internet » PHP »

Ayuda con php y mysql (formularios)!

Estas en el tema de Ayuda con php y mysql (formularios)! en el foro de PHP en Foros del Web. Hola amigos, Estoy intentando crear un formulario donde los usuarios escojan mediante un desplegable la marca de un coche y quiero mostrar luego otro desplegable ...
  #1 (permalink)  
Antiguo 19/10/2010, 07:40
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Ayuda con php y mysql (formularios)!

Hola amigos,

Estoy intentando crear un formulario donde los usuarios escojan mediante un desplegable la marca de un coche y quiero mostrar luego otro desplegable que por ejemplo si seleccionas en la marca "audi" el siguiente desplegable te muestre solo los modelos de auid por ejemplo "A1,A2,A3,..., no todos los que tengo almacenados en la base de datos, sino solo los de esa marca.

Para ello os comento que tengo dos tablas, una que se llama marcas (contiene idmarcas y nombremarca) y luego tengo otra tabla llamada modelos (contiene idmodelo, idmarca y nombremodelo)

Los códigos que tengo ahora mismo son:

Código PHP:
<?php

//Conexion con la base
$link mysql_connect("localhost","","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("ernesto_coches",$link);

?>

<FORM METHOD="POST" ACTION="insertar.php">

<select name="marca">

<?php

    $sql 
"select * from marcas";
                  
    
$ql mysql_query($sql,$link) or die(mysql_error());
                  
    while(
$g mysql_fetch_array($ql)){

    echo 
'<option value="'.$g['idmarca'].'">'.$g['marca'].'</option>';
                  
    }

?>
</select></br></br>

<select name="modelo">

<?php

    $sql 
"select * from modelos";
                  
    
$ql mysql_query($sql,$link) or die(mysql_error());
                  
    while(
$g mysql_fetch_array($ql)){

    echo 
'<option value="'.$g['idmodelo'].'">'.$g['modelo'].'</option>';
                  
    }

?>
</select></br></br>

<INPUT TYPE="SUBMIT" value="Insertar">

</FORM>
Como puedo hacer para que una vez elegido el primero se carguen los modelos del segundo?

Espero haberme explicado con claridad, sino es así preguntar lo que necesitéis!

Muchas gracias de antemano!!
  #2 (permalink)  
Antiguo 19/10/2010, 08:34
Avatar de CazaresLuis  
Fecha de Ingreso: septiembre-2010
Ubicación: Distrito Federal
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 2
Información Respuesta: Ayuda con php y mysql (formularios)!

Cita:
Iniciado por arquidea Ver Mensaje
Hola amigos,

Estoy intentando crear un formulario donde los usuarios escojan mediante un desplegable la marca de un coche y quiero mostrar luego otro desplegable que por ejemplo si seleccionas en la marca "audi" el siguiente desplegable te muestre solo los modelos de auid por ejemplo "A1,A2,A3,..., no todos los que tengo almacenados en la base de datos, sino solo los de esa marca.

Para ello os comento que tengo dos tablas, una que se llama marcas (contiene idmarcas y nombremarca) y luego tengo otra tabla llamada modelos (contiene idmodelo, idmarca y nombremodelo)

Los códigos que tengo ahora mismo son:

Código PHP:
<?php

//Conexion con la base
$link mysql_connect("localhost","","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("ernesto_coches",$link);

?>

<FORM METHOD="POST" ACTION="insertar.php">

<select name="marca">

<?php

    $sql 
"select * from marcas";
                  
    
$ql mysql_query($sql,$link) or die(mysql_error());
                  
    while(
$g mysql_fetch_array($ql)){

    echo 
'<option value="'.$g['idmarca'].'">'.$g['marca'].'</option>';
                  
    }

?>
</select></br></br>

<select name="modelo">

<?php

    $sql 
"select * from modelos";
                  
    
$ql mysql_query($sql,$link) or die(mysql_error());
                  
    while(
$g mysql_fetch_array($ql)){

    echo 
'<option value="'.$g['idmodelo'].'">'.$g['modelo'].'</option>';
                  
    }

?>
</select></br></br>

<INPUT TYPE="SUBMIT" value="Insertar">

</FORM>
Como puedo hacer para que una vez elegido el primero se carguen los modelos del segundo?

Espero haberme explicado con claridad, sino es así preguntar lo que necesitéis!

Muchas gracias de antemano!!
Hola hay dos formas una que al seleccionar la marca re cargues el formulario y detectes que valor traes en tu select, aqui el problema es que si tienes mas campos los perderías a menos que tambien detectes si estan llenos y pues los vielas a llenar al recargar, la segunda opción es que lo hagas con ajax y aqui no tienes que recargar el form, lo que haces son llamadas al server de forma asincrona, si aún no usas ajax te recomiendo uses jquery que trae una funcion $.ajax() que la verdad es muy sencilla y aprender como aplicarla también.

Saludos
  #3 (permalink)  
Antiguo 19/10/2010, 10:22
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Respuesta: Ayuda con php y mysql (formularios)!

uffff...gracias CazaresLuis...lo intentaré pero aún no entiendo php se me plantea muy dificil inplementar ajax que apenas se lo que es...
Gracias de todas formas.
  #4 (permalink)  
Antiguo 19/10/2010, 11:35
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Respuesta: Ayuda con php y mysql (formularios)!

Hola de nuevo CazaresLuis, he estado pensando en lo que me has dicho y he decidido hacerlo a través de php, además que se borren los campos no me importa, porque colocaré en primer lugar La marca del vehículo y al recargarse aparecerá directamente ya la opcion de coger el modelo y demás campos.

Ahora bien, me podrías ayudar a "traer el select" para poder cargar el formulario, he estado buscando y no he encontrado como hacerlo...
  #5 (permalink)  
Antiguo 19/10/2010, 12:29
 
Fecha de Ingreso: abril-2009
Mensajes: 233
Antigüedad: 15 años
Puntos: 5
Respuesta: Ayuda con php y mysql (formularios)!

He dividido el formulario en dos, pero no se como hacer para que una vez selecciono la marca, me muestre los modelos asociados a esa marca...por ello cuelgo los códigos de los dos php y espero a ver si me pueden dar la solución.

Código formulario 1:

Código PHP:
<?php

//Conexion con la base
$link mysql_connect("localhost","","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("ernesto_coches",$link);

?>

<!-- Selecciona la marca-->


<form method="POST" action="anunciar2.php">

<select name="marca">

<?php

    $sql 
"select * from marcas";
                  
    
$ql mysql_query($sql,$link) or die(mysql_error());
                  
    while(
$g mysql_fetch_array($ql)){

    echo 
'<option value="'.$g['idmarca'].'">'.$g['marca'].'</option>';
                  
    }

?>

</select><br><br>

<input type="SUBMIT" value="Insertar">

</form>
Código formulario 2:

Código PHP:
<?php

//Conexion con la base
$link mysql_connect("localhost","","");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("ernesto_coches",$link);

?>


<!-- Selecciona el modelo-->

<select name="modelo">

<?php

    $sql 
"select * from modelos";
                  
    
$ql mysql_query($sql,$link) or die(mysql_error());
                  
    while(
$g mysql_fetch_array($ql)){

    echo 
'<option value="'.$g['idmodelo'].'">'.$g['modelo'].'</option>';
                  
    }

?>
</select></br></br> 

<!-- Selecciona la ciudad-->

<select name="ciudad">
      
<?php

    $sql 
"select * from ciudades";
                  
    
$ql mysql_query($sql,$link) or die(mysql_error());
                  
    while(
$g mysql_fetch_array($ql)){

    echo 
'<option value="'.$g['idciudad'].'">'.$g['ciudad'].'</option>';
                  
    }

?>
</select></br></br>

<!-- Selecciona el combustible-->

<tr>
    <td>Tipo de combustible:&nbsp;</td>
<select name="combustible">

        <option value="Gasolina">Gasolina
        <option value="Diesel">Diesel
        <option value="Híbrido">Híbrido
        <option value="Eléctrico">Eléctrico
        
</select></tr><br><br>

<!-- Selecciona el precio-->

<tr>
    <td>Precio:&nbsp;</td>
    <td><input tipe="text" name="precio" size="15"></td><br><br>
</tr>

<tr>
    <td>Año de construccion:&nbsp;</td>
    <td><input tipe="text" name="precio" size="15"></td><br><br>
</tr>

<tr>
    <td>Kilometros:&nbsp;</td>
    <td><input tipe="text" name="kilometros" size="15"></td><br><br>
</tr>

</td>
<tr>
<td align="left" width="100"> Descripcion:</td><br>
    <td><TEXTAREA NAME="descripcion" ROWS=4 COLS=50></TEXTAREA></td><br><br>
</tr>

<tr>
    <td>Telefono:&nbsp;</td>
    <td><input tipe="text" name="telefono" size="15"></td><br><br>
</tr>

<tr>
    <td>Email:&nbsp;</td>
    <td><input tipe="text" name="email" size="15"></td><br><br>
</tr>

<input="SUBMIT" value="Insertar">

</form>
Como pueden observar traigo del formulario 1 la marca, la cual la recupero en el dos con un campo oculto, pero aún traiendo la marca no se como hacer para que me muestre el modelo adecuado...

Gracias y un saludo!!

Etiquetas: mysql, formulario
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 03:27.