Ver Mensaje Individual
  #16 (permalink)  
Antiguo 17/01/2008, 11:54
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Acumular consultas.

Cita:
Iniciado por GatorV
Mmmm estas seguro de eso JPinedo? Cuando buscas esperas obtener registros que cumplan las dos condiciones no?
Cita:
Iniciado por chacamariano
Con and no me tirá nada y con or me muestra todo lo que contiene futbol si pongo futbol + argentina, no busca futbol y argentina.
eso depende... peeero... ya respondió. Déjalo con AND entonces

Ahora:
1.-) Estás cambiando "+" por "and", lo cual genera una palabra adicional en el split (usa mejor explode()).

2.- El bucle "for" está totalmente de más.

3.-) Trata de utilizar nombres de variables más descriptivos, que me pierdo entre var1, var2, var3, etc ;)

4.-) Te dejo el código nuevamente:
Código PHP:
$cadena_buscada trim($_GET['name']);
$cadena_buscada str_replace('*''%'$cadena_buscada);
$cadena_buscada str_replace("?""_"$cadena_buscada);

// Lo primero que haces es crear un array con esas cadenas separadas por +
$palabras explode('+'$cadena_buscada);

// Tenemos este sql base:
$sql "SELECT distinct pna_url 
        FROM pagina,pagina_keyword,keyword 
        WHERE     pagina.pna_id = pagina_keyword.pna_id 
            AND pagina_keyword.krd_id = keyword.krd_id"
;

foreach( 
$palabras as $palabra ){
    
$palabra trim($palabra);
    
$sql .= " AND krd_keyword LIKE '$palabra'";
}

$consulta mysql_query($sql);