Foros del Web » Programando para Internet » PHP »

buscador

Estas en el tema de buscador en el foro de PHP en Foros del Web. Buenas he desarrollado un buscador para mi web funciona ok lo unico que me falta es enviar un mensaje que cuando busque alguna palabra y ...
  #1 (permalink)  
Antiguo 26/06/2006, 14:50
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 20 años, 7 meses
Puntos: 0
buscador

Buenas he desarrollado un buscador para mi web funciona ok lo unico que me falta es enviar un mensaje que cuando busque alguna palabra y no lo encuentre en la base de datos envie un mensaje diciendo que dicha palabra no existe en la base de datos.
Yo lo estoy haciendo asi:


$Ssql="SELECT * FROM articulos WHERE MATCH (titulo,sumilla) AGAINST ('$buscar')";
$Result=mysql_query($Ssql) or die (mysql_error());
$totalfilas=mysql_num_rows($Result) or die (mysql_error());
if ($totalfilas > 1){
header("Location: principal.php?error=1");
exit();
}

LO trato de controlar con mysql_num_rows pero no me enviar el mensaje

Gracias por su ayuda de antemano
  #2 (permalink)  
Antiguo 26/06/2006, 16:25
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Prueba con
Código PHP:
if ($totalfilas != 0){ 
ya que tal y como lo pones si tienes un solo resultado te daria falso, solo seria verdadera la condicion con 2 o mas resultados.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 26/06/2006, 16:32
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Ten cuidado con esta línea:

$totalfilas = mysql_num_rows($Result) or die (mysql_error());

Cuando usas "or", quiere decir que si el término de la izquierda es "false", se ejecuta lo de la derecha (die(...)).

Pero también recuerda que true y false son valores booleanos 0 y 1. Así que si hay cero resultados, el término de la izquierda pasará a tomar el valor "0", se interpretará como false y se ejecutará el die().

Por eso no utilices "or die(...)" junto con mysql_num_rows(), porque tendrás un comportamiento inesperado.

Saludos
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 01:09.