Foros del Web » Programando para Internet » PHP »

Problema! con if en busqueda

Estas en el tema de Problema! con if en busqueda en el foro de PHP en Foros del Web. Hola a todos!, creí que lo había hecho bien pero me surgió un problema, estoy intentando que cuando uno busque ciertos criterios en el buscador ...
  #1 (permalink)  
Antiguo 13/10/2011, 12:21
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Exclamación Problema! con if en busqueda

Hola a todos!, creí que lo había hecho bien pero me surgió un problema, estoy intentando que cuando uno busque ciertos criterios en el buscador como "elecciones", "elecciones octubre", etc, aparezca un anuncio que te lleve a la página del padrón electoral para saber donde votar.

El anuncio aparece, pero lo hace en todos los resultados no en los que yo marqué.

Les dejo el código:
Código PHP:
if(!empty($totalRows)){ 
        echo 
stripslashes("<p>Se encontraron <strong>$totalRows</strong> resultados para <strong>$frase</strong> en <strong>$tiempo</strong> segundos. Página <strong>$pagina</strong> de <strong>$total_paginas</strong></p>");         
        elseif(
$frase=="elecciones" OR "elecciones octubre" OR "padron electoral" OR "elecciones 2011" OR "elecciones 23 de octubre" OR "elecciones nacionales") {
        echo 
'<center><p><strong><a href="http://www.padron.gob.ar/index.php/">Consulta donde votar - Elecciones 2011</a></strong></br>
El 23 de octubre son las elecciones nacionales, consulta donde votás.</p></center>'
;  } } 
no sé bien que hacer porque elseif no es el indicado en este caso, if tampoco porque no puedo poner 2 if juntos, y else tampoco, no se que hacer.

Muchas gracias a todos!
  #2 (permalink)  
Antiguo 13/10/2011, 12:48
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Problema! con if en busqueda

Creo que es un problema de anidaciones, el "elseif" esta refirriendose a otro if
Código PHP:
Ver original
  1. if(!empty($totalRows)){  
  2.         echo stripslashes("...");          
  3.         elseif($frase=="elecciones" OR ...) {
  4.                 echo '<center>...';
  5.         }
  6. } //ESTE CIERRA AMBOS IF

intenta así:

Código PHP:
Ver original
  1. if(!empty($totalRows)){  
  2.         echo stripslashes("...");          
  3. }elseif($frase=="elecciones" OR ...) {
  4.                 echo '<center>...';
  5. }
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 13/10/2011, 12:58
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Respuesta: Problema! con if en busqueda

Probé de la forma que me dijiste pero ahora no aparece el anuncio en ningún resultado, creo que me falto el while en el código de arriba =P:

Código PHP:
if(!empty($totalRows)){ 
        echo 
stripslashes("<p>Se encontraron <strong>$totalRows</strong> resultados para <strong>$frase</strong> en <strong>$tiempo</strong> segundos. Página <strong>$pagina</strong> de <strong>$total_paginas</strong></p>"); 
        } elseif(
$frase=="elecciones" OR "elecciones octubre" OR "padron electoral" OR "elecciones 2011" OR "elecciones 23 de octubre" OR "elecciones nacionales") {
        echo 
'<center><p><strong><a href="http://www.padron.gob.ar/index.php/">Consulta donde votar - Elecciones 2011</a></strong></br>
El 23 de octubre son las elecciones nacionales, consulta donde votás.</p></center>'
;  
}
        
// Visualizando los resultados
        
while($row mysql_fetch_array($sqlBuscar)){
            echo 
"<strong><a href=$row[weburl]>$row[webTitulo]</a></strong>"
            echo 
"<p>".substr(strip_tags($row['webDescripcion']), 0255)."...</p>"
        } 
Igual el problema creo que es en el elseif, porque debería ser algo como:

Código PHP:
elseif(!empty($totalRows) AND $frase=="elecciones" OR "elecciones octubre" OR "padron electoral" OR "elecciones 2011" OR "elecciones 23 de octubre" OR "elecciones nacionales"
(es un ejemplo no funciona)

Gracias por responder!
  #4 (permalink)  
Antiguo 13/10/2011, 13:02
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Problema! con if en busqueda

ya casi esta, solo necesitas repetir la variable:

elseif($frase=="elecciones" OR $frase=="elecciones octubre" OR $frase=="padron electoral" OR $frase=="elecciones 2011" OR $frase=="elecciones 23 de octubre" OR $frase=="elecciones nacionales") {
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 13/10/2011, 13:11
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Respuesta: Problema! con if en busqueda

Casi funciona, me sigue pasando lo mismo, todo funciona bien pero el anuncio no aparece en ningún resultado.

El if está diciendo que si se envió una consulta se muestren los resultados, pero con el elseif estaría indicando que si no hubo ninguna una consulta con la frase "elecciones" o las que indico se muestra el anuncio, algo un poco contradictorio ya que si no envío ninguna consulta no puede tener ninguna frase =P.

No entiendo como hacer para que si se envía una consulta con cierta frase funcione el anuncio.

Muchas gracias por todo!
  #6 (permalink)  
Antiguo 13/10/2011, 13:13
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Problema! con if en busqueda

en ese caso inviertelas

if($frase=="elecciones" OR ...
elseif(!empty($totalRows))...
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #7 (permalink)  
Antiguo 13/10/2011, 13:17
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 8 meses
Puntos: 29
Respuesta: Problema! con if en busqueda

SI!!!!, muchas gracias por tu ayuda stramin, ahora funciona perfectamente, al if de elecciones le agregué también el echo stripslashes (....) para que se puedan ver la cant de páginas y resultados aunque aparezca el anuncio.

gracias!!

Etiquetas: busquedas
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 21:47.