PHP - Necesito frescar una consulta en una misma pagina!

 
Vista:

Necesito frescar una consulta en una misma pagina!

Publicado por Jorge Alberto (77 intervenciones) el 16/02/2005 14:16:46
Tengo el campo MARCA hago una consulta en base a ese campo tengo cinco marcas pero cada marca tiene 5 modelos, ¿como puedo hacer que cuando escojo una marca utilizando un SELECT que genero otro pero solamente con los modelos que le corresponde a la marca que acabo de escoger, el SQL lo se hacer pero ¿como hacerlo en la misma pagina?

Este es PHP de la marca:

//*** MARCA ***
<?

$conexion = odbc_connect("base","","","");

$rs= odbc_exec($conexion,"select * from catalogo");

$sql="select distinct marcas from catalogo'";

$rs=odbc_exec($conexion,$sql);

echo "<select name=marcas>";

while(odbc_fetch_row($rs))
{
echo "<option>".odbc_result($rs,"marca")."</option>";
}
echo "</select>";

odbc_close_all();
?>

Ahora lo que quiero es que cuando escoja una de la opciones que me apareceran por ejemplo TOYOTA, en un SELECT igual abajo de este me aparesca con todos aquellos modelos pero solo de la marca toyota.

Espero me puedan ayudar... Gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

OnChange

Publicado por webness (44 intervenciones) el 16/02/2005 18:11:48
hOLA, para dicho efecto nesesitas tener en cada select activado el evento onCHange mas o menos asi:
<select name=marca onChange=refrescar(document.formulario);>
Cabe anotar que el value de cada <option> debe ser el id de la marca, pa que con ese $marca, podas hacer la consulta y sacar los modelos

pero que implica esto?, que este submit, no implica ir y guardar los datos a una base de datos. Solo que tiene que hacer es tener un Flag que indique si sigue llenando el formulario o si lo vaseas a la DB, esta Flag debe ser un campo de tipo hidden, del formularo. Cabe anotar que el action del documento debe ser a el mismo.

la funcion refrescar de javascript hace esto

function refrescar(forma)
{
forma.flag.value=0;
forma.submit();
}

pero al momento de usted empezar el script de php, debe saber si $flag=0, en este caso mostrar el formulario, de lo contario, guardas a la db.

pero que implica esto,? Los datos digitados anteriormente no se deben perder, para lo cual debes usar isset($dato), ejemplo
if(isset($dato))
echo "<input type=text value='$dato'>";
else
echo "<input type=text>";

Ahora el Ultimo problema es, como hacer para cambiar el valor de Flag, para que inserte a la DB?

Pues facil en el boton de enviar haces esto <input type=button onClick=validar(document.formulario)>

la funcion de validar es esta

function validar(forma)
{
//validas que los datos sean correctos
forma.flag.value=1;
forma.submit();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar