:séveR led onieR le edsed sodulaS
Bueno, soy inexperto en esto pero... hace poco hice algo que espero te sirva... Explico como funciona:
- Los datos los recojo de un formulario... ocupemos tres campos para este ejemplo... Nombre, Ciudad y Edad que son los que manejas tú.
<?php
// primero checo que haya al menos un valor para poder realizar la busqueda...
if((!empty($_POST['nombre']))||(!empty($_POST['ciudad']))||(!empty($_POST['edad']... cuantos valores recojas...
)))
{
//No están vacios... les asigno una variable y la query necesaria para su busqueda
if(!empty($_POST['nombre']))
{
$nombre=$_POST['nombre'];
$busca[]=" AND nombre LIKE '%$nombre%'"; ->
No sé como poner '%$_POST['nombre']%' para ahorrar una línea... repito que soy nuevo y si pudiesen decir cómo...
}
if(!empty($_POST['ciudad']))
{
$ciudad=$_POST['ciudad'];
$busca[]=" AND ciudad LIKE '%$ciudad%'";
}
if(!empty($_POST['edad']))
{
$edad=$_POST['edad'];
$busca[]=" AND edad LIKE '%$edad%'";
}
//... de nuevo... lo mismo hasta cuantos valores quieras ocupar...
$query = "SELECT * FROM tutabla WHERE 1 "; <- El inicio de la query...
$elemBusc=count($busca);
$i=0;
while($i<$elemBusc)
{
$query .= $busca[$i]; <- Añadimos a la query las condiciones de busqueda...
$i++;
}
if($conexion=mysql_connect("localhost", "", ""))
{
$result = mysql_db_query("tuBD","$query");
if(mysql_num_rows($result) != 0)
{
$resultados=mysql_num_rows($result);
echo "Datos encontrados: ".$resultados.";
while($res=mysql_fetch_array($result))
{
... Bueno presentas los datos como quieras.. con $res['nombre'].. etc, etc,....
}
}
else
{
echo "NO SE ENCONTRARON RESULTADOS";
}
mysql_close($conexion);
}
else
{
echo "NO SE CONECTO";
}
}
else
{
echo "NO SE DIERON CRITERIOS DE BUSQUEDA VÁLIDOS";
}
?>
... y Bueno, básicamente es eso a grandes rasgos...
a mi me funcionó para lo que lo necesitaba.. que es delimitar la busqueda... espero sea lo que necesitas
.
-------
jam1138
"No hay opiniones estúpidas, solo estúpidos que opinan"