Búsquedas con listas en PHP

Hola experto, teno hecha una BD en Mysql y quisiera hacer un formulario en PHP en el cual pueda hacer búsquedas a través de listas ... O sea que la persona que quiera buscar en la BD lo haga eliguiendo opciones de diferentes listas.
¿Cómo se puede hacer?

1 Respuesta

Respuesta
1
Lo más sencillo es hacer una página en PHP que se autoprocesa, con dos formularios
Code:
--------------------------------------------------------------------------------
<?php
$link=mysql_connect("host","usuario","contrasena";
mysql_select_db("nombre_base_datos",$link);
?>
<HTML>
<HEAD>
<TITLE>Titulo de la pagina</TITLE>
</HEAD>
<BODY>
<FORM method='post' action="<?php echo $_SERVER['PHP_SELF']?>">
<SELECT name='opcion' size='1'>
<?php
$consulta="select id_cliente,nombre_cliente from clientes";
$resultado=mysql_query($consulta,$link);
while($fila=mysql_fetch_array($resultado))
{
printf("<option value=%s>%s</option>n",$fila['id_cliente'],$fila['nombre_cliente']);
}
?>
</SELECT>
<input type="submit" value="Seguir">
</FORM>
<?php
if(isset($_POST['opcion']))
{
?>
<FORM method='post' action='otra_pagina.php'>
<SELECT name='otra_opcion' size='1'>
<?php
$id_cliente_seleccionado=$_POST['opcion'];
$consulta="select campo1,campo2 from tabla2 where id_cliente=$id_cliente_seleccionado";
$resultado=mysql_query($consulta,$link);
while($fila=mysql_fetch_array($resultado))
{
printf("<option value=%s>%s</option>n",$fila['campo1'],$fila['campo2']);
}
?>
</SELECT>
<input type="submit" value="Enviar">
</FORM>
<?php
}
?>
</BODY>
</HTML>
--------------------------------------------------------------------------------
Lo que se ve en la parte superior del código es para conectar con el servidor mysql
Creamos un formulario, el método es indistinto, pero prefiero utilizar el método post y como action, que php escriba automáticamente el nombre mediante la variable de servidor $_SERVER['PHP_SELF'].
Creamos la lista desplegable y le damos un nombre (fundamental). Y dentro, mediante el script, creamos el cuadro combinado (en este caso saco un listado de los clientes de la tabla clientes, pero como generalmente nos interesa el identificador del cliente, pues eso el lo que guardamos en el value de cada Code:
--------------------------------------------------------------------------------
<option>
--------------------------------------------------------------------------------
.
Ponemos un botón submit para enviar el formulario a la misma página
Luego creamos el segundo formulario, que se enviará a procesar a otra página, la que nosotros queramos, y creamos el cuadro combinado teniendo en cuenta que ya tenemos el idenficador de antes en la variable Code:
--------------------------------------------------------------------------------
$_POST['nombre_campo_combinado']
--------------------------------------------------------------------------------
.
Tiene un if que abarca el segundo formulario, porque hasta que no hayamos elegido un id_cliente(por ejemplo), no podremos realizar la segunda consulta, y de esta manera conseguimos ocultarlo.
Espero que todo el código este bien, aunque sin tener a mano un editor no estoy seguro, aunque la idea general está perfectamente plasmada.
(Esta respuesta es cortesía de Benjacrack, obtenido de los Foros de planetarroba.com)
Espero haberte orientado!, no olvides cerrar la pregunta!.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas