Foros del Web » Programando para Internet » PHP »

Ayuda con buscador!! Urgente por favor!!

Estas en el tema de Ayuda con buscador!! Urgente por favor!! en el foro de PHP en Foros del Web. Estimados: Tengo un buscador y lo habia probado con tan solo dos registros y me funcionaba perfecto, resulta que cuando agregue todos los registros (es ...
  #1 (permalink)  
Antiguo 21/09/2007, 09:30
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 15 años
Puntos: 2
Ayuda con buscador!! Urgente por favor!!

Estimados:
Tengo un buscador y lo habia probado con tan solo dos registros y me funcionaba perfecto, resulta que cuando agregue todos los registros (es la base de datos de ex alumnos de un colegio) se me enredo todo porque resulta que tengo tres opciones para buscar: Apellido paterno, apellido materno y año de egreso. Como puedo modificar el siguiente codigo para dejar eso excluyente? Es decir, para que si se pone apellido paterno y materno busque las dos en conjuntoi y no por separado?
El codigo es
Código PHP:
$sql = "SELECT * FROM exalumnos_completo WHERE paterno like '%$paterno%' or materno like '%$materno%' or egreso like '%$egreso%' ORDER BY id DESC";


$result = mysql_query($sql, $con); 

// Tomamos el total de los resultados
$total = mysql_num_rows($result);

// Imprimimos los resultados
if ($row = mysql_fetch_array($result)){ 
echo "Resultados para: <b>$paterno</b>";
do { 
?>
<p><b><a href="noticia.php?id=<?=$row['id'];?>"><?=$row['paterno'];?></a></b></p>
<?
} while ($row mysql_fetch_array($result)); 
echo 
"<p>Resultados: $total</p>";
} else { 
// En caso de no encontrar resultados
echo "No se encontraron resultados para: <b>$buscar</b>"
}

    }
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
  #2 (permalink)  
Antiguo 21/09/2007, 10:32
 
Fecha de Ingreso: septiembre-2007
Mensajes: 20
Antigüedad: 12 años, 2 meses
Puntos: 0
Re: Ayuda con buscador!! Urgente por favor!!

Trabajando con PHP, la búsqueda en MySQL no es más que una cadena, con lo que puedes componerla así:

Código PHP:
$sql "SELECT * FROM exalumnos_completo WHERE ";
if (isset(
$paterno) && $paterno != "") {
    
$sql .= "paterno LIKE '%$paterno%'";
    
$existePaterno true;
}
if (isset(
$materno) && $materno != "") {
    if (
$existePaterno == true) {
        
$sql .= " AND ";
    }
    
$sql .= "materno LIKE '%$materno%'";
    
$existeMaterno == true;
}
if (isset(
$egreso) && $egreso != "") {
    if (
$existePaterno == true || $existeMaterno == true) {
        
$sql .= " AND ";
    }
    
$sql .= "egreso LIKE '%$egreso%'";
}
$sql .= " ORDER BY id DESC"
Por supuesto que este código podría hacerse mucho más corto y limpio, pero me ha parecido mejor dejar un desarrollo completo y de fácil lectura.

Un saludo ;)

Última edición por rubenlopez; 21/09/2007 a las 10:32 Razón: Faltaba una comilla
  #3 (permalink)  
Antiguo 21/09/2007, 10:55
 
Fecha de Ingreso: diciembre-2004
Mensajes: 354
Antigüedad: 15 años
Puntos: 2
Re: Ayuda con buscador!! Urgente por favor!!

Muchisimas gracias!!
__________________
Pedro Pablo Vivanco D.
Webmaster todoalbo.cl
[email protected]
http://www.todoalbo.cl
"Dios creo el Cielo, Colo-Colo le puso todas sus Estrellas"
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 11:07.