Formulario para busqueda..

oYaG
11 de Agosto del 2003
Hola, resulta que tengo un formulario para busquedas, en dicho formulario tengo tres campos de texto que hacen referencia a tres campos de una tabla de mi base de datos. La idea es crear el query para realizar la busqueda de manera dinámica, dependiendo de los campos del formulario que llene el usuario. Por ejemplo. los campos son nombre,codigo,estado; si el usuario llena solo nombre, que se cree la consula adecuada para buscar solo por nombre......o la consulta que necesario dependiendo de que campos llene o no el usuario...por favor si alguin me puede ayudar..se los agradeceré

jakman
11 de Agosto del 2003
mira primero te tienes ke tener una Qry general, de la siguiente forma:

$Sql= "SELECT * FROM `".$Tabla."` WHERE ".$Condicion;

Deskripcion de partes:

$Sql = Variable ke kontendra la konsulta.
$Tabla = Tabla de la base de datos sobre la ke kieres hacer la konsulta
$Condicion = Kondicionante de tu konsulta segun la informacion ke proporcional el usuario

tienes ke tener 7 opciones del Query, dependiendo de los datos que el usuario proporcione, estos kasos pueden ser:

1. si proporciona solo el nombre
$Condicion = "`nombre` = "".$tudatodenombre."" ;

2. si proporciona el nombre y el kodigo postal
$Condicion = "`nombre` = "".$tudatodenombre." [and|or] `kodigo` = ".$tudatodekodigo." " ;

3. si proporciona el nombre y el estado
$Condicion = "`nombre` = "".$tudatodenombre." [and|or] `kodigo` = ".$tudatodekodigo." " ;

4. si proporciona solo el kodigo postal
$Condicion = "`kodigo` = "".$tudatodekodigo."" ;

5. si proporciona el kodigo postal y el estado
$Condicion = "`kodigo` = "".$tudatodekodigo." [and|or] `estado` = ".$tudatodeestado." " ;

6. si proporciona solo el estado
$Condicion = "`estado` = "".$tudatodeestado."" ;

7. si proporciona el nombre, el kodigo postal y el estado
$Condicion = "`nombre`= ".$tudatodenombre." [and|or] `kodigo` = "".$tudatodekodigo." [and|or] `estado` = ".$tudatodeestado."" ;


espero sea entendible, si tienes alguna duda mandame un mail a [email protected]