Foros del Web » Programando para Internet » PHP »

problemas con una consulta

Estas en el tema de problemas con una consulta en el foro de PHP en Foros del Web. tengo un formurario de busqueda y cuando busco una palabra que esta en varios registros...pero si busco una palabra que se encuentra en un solo ...
  #1 (permalink)  
Antiguo 19/01/2004, 07:37
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 20 años, 11 meses
Puntos: 0
Pregunta problemas con una consulta

tengo un formurario de busqueda y cuando busco una palabra que esta en varios registros...pero si busco una palabra que se encuentra en un solo registro (Ej: "sociedad y economia") no la muestra pero tampoco envia el mensaje que no encontro registros, pero si busco algo como "sajkfhajkfhlafsh" si me muestra que no encontro registros...aqui les dejo el codigo haber si notan algo raro.

pd: estoy buscando en un campo de tipo text

<?php

$texto=$_POST['texto'];

$resultado=mysql_query("Select * From noticias Where estado='A' And noticia Like '%$texto%' ") or die(mysql_error());

if (mysql_num_rows($resultado)>0){//SI ENCONTRO EL USUARIO EN LA BASE
$row=mysql_fetch_array($resultado);

while ($row=mysql_fetch_array($resultado))
{//muestro resultados

echo "encontre resultados"; //muestro resultados

}//fin de muestra de resultados

}else{ // SI NO SE ENCONTRARON RESULTADOS

echo "no encontre resultados";

}//FIN BUSQUEDA DE RESULTADOS

mysql_free_result($resultado); //LIBERA DE MEMORIA LA VARIABLE

?>
  #2 (permalink)  
Antiguo 19/01/2004, 08:16
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Eso te pasa en las consultas que solo devuelven un registro. ¿Por que? Porque le estas haciendo que lea el primer registro pero que no lo muestre. Fijate:
Código PHP:
if (mysql_num_rows($resultado)>0){//SI ENCONTRO EL USUARIO EN LA BASE
$row=mysql_fetch_array($resultado); // lees el primer registro
// pero ¿donde lo muestras?

while ($row=mysql_fetch_array($resultado))
{
//muestro resultados 

echo "encontre resultados"//muestro resultados

}//fin de muestra de resultados 
Asi que la solucion es eliminar ese primer mysql_fetch_array():
Código PHP:
if (mysql_num_rows($resultado)>0){//SI ENCONTRO EL USUARIO EN LA BASE

while ($row=mysql_fetch_array($resultado))
{
//muestro resultados 

echo "encontre resultados"//muestro resultados

}//fin de muestra de resultados 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 19/01/2004, 12:23
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 20 años, 11 meses
Puntos: 0
jejejeje...tienes razon.... no me di cuenta....muchas gracias
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 17:14.