Título: [MySQL] Consulta con LIKE omite el primer elemento al momento de listar (solved) Publicado por: Diabliyo en 11 Octubre 2013, 17:23 pm Buenas.
Estoy haciendo una consulta usando la variable LIKE '%muestra%' para buscar algo dentro de mi pagina, y que esto se asocie con la "muestra" de palabra que me haya proporcionado el usuario desde el INPUT de busqueda. La busqueda se realiza con exito (consulta a mysql), la sintaxis esta bien y todo... el problema es que al momento de mostrar los resultados (mysql_fetch_array()) me omite el primer elemento de la consulta. Vaya, si la consulta a mysql me dio 4 resultados, me omite el primer elemento. ejemplo: Código
En busca de ver cual era el problema, me tope conque omite el primer elemento encontrado ya que realice la sentencia de consulta exacta en PHPMyAdmin y me arroja los 4 resultados, pero el PRIMERO de la lista no lo imprime mi codigo. Por ello digo que "omite el primer elemento de la busqueda". Espero puedan ayudarme ! IMPORTANTE: esto solo ocurre con busquedas, ya que la operaciones normales como "ver una sección del blog" o cualquier cosa que demande consultar a MySQL algo, si se encuentran 10 resultados, los 10 salen impresos... Repito: solo sucede cuando hago una busqueda. Saludos ! Título: Re: [MySQL] Consulta con LIKE omite el primer elemento al momento de listar ! Publicado por: Shell Root en 11 Octubre 2013, 21:56 pm Sera porque el contador empieza desde 0 :silbar:, la verdad no entendi mucho
Título: Re: [MySQL] Consulta con LIKE omite el primer elemento al momento de listar ! Publicado por: 1mpuls0 en 11 Octubre 2013, 22:13 pm Sera porque el contador empieza desde 0 :silbar:, la verdad no entendi mucho ._.@Diabliyo comenta la siguiente línea y verifica que pasa ;) echo 'Resultados Encontrados: '. mysql_num_rows($query); Título: Re: [MySQL] Consulta con LIKE omite el primer elemento al momento de listar ! Publicado por: Diabliyo en 12 Octubre 2013, 07:22 am Alex Jurado por favor evita contestar al tema si no entiendes, creo que es muy claro, de los 4 resultados solo imprime los ultimos 3, el primero no sale listado.
Ejm: Esta es la Tabla en MySQL. *----------------* | TITULO | *----------------* | piedra1 | | piedra2 | | piedra3 | | piedra4 | *----------------* El resultado del codigo que puse arriba da: Código: Resultados Encontrados: 4 Darhius pues es obvio, solo no sale el texto "Resultados Encontrados: 4". Eso obviamente no resuelve nada :S Lo raro es que solo sucede cuando hago busquedas, osease, cuando se llama a la consulta con LIKE '%muestra%'. Si entro simplemente a ver las noticias del blog (sin busqueda), salen los 4 elementos impresos. Saludos ! Título: Re: [MySQL] Consulta con LIKE omite el primer elemento al momento de listar ! Publicado por: Shell Root en 12 Octubre 2013, 08:29 am Lo tengo exactamente como tú lo tienes, mira: -PASAME UN SCRIPT DE LA TABLA-
Código: Código
Resultado: Código
PD: jaja el comentario de ahora, es que estaba beodo :p Título: Re: [MySQL] Consulta con LIKE omite el primer elemento al momento de listar ! Publicado por: Diabliyo en 13 Octubre 2013, 17:59 pm Buen dia...
Gracias por tu respuesta Alex Jurado, pero me puse a analizar con lupa mi codigo y encontre algo que pues me tiene con la duda.... Antes explico algo importante. La tabla donde guardo las noticias tiene estos tres campos mas: TITULO --> donde se guarda el titulo del post. VISTA --> su valor puede ser "post", "page", "gallery", "script". MENU--> menu donde se coloca esta noticia. sección--> sección dentro del menu. En donde: post --> se visualizara la pagina en forma de "blog". page --> solo se muestra la ultima noticia. gallery --> las noticia se muestran en forma de thumbnails (recuadros con foto de portada). script --> la noticia carga un SCRIPT PHP que adjunto el usuario. De modo que ANTES de meter la consulta al while() realizo esto: Código
Me imagino que el mysq_fetch_array() de la linea 9 hace que pierda el primer elemento del conjunto encontrado, no ? Saludos ! Título: Re: [MySQL] Consulta con LIKE omite el primer elemento al momento de listar ! Publicado por: xustyx en 13 Octubre 2013, 18:41 pm No se mucho de php pero prueba de hacer la consulta otra vez antes de entrar en noticias_post.
Supongo que al hacer el fetch el cursor se adelanta una posición por eso te retorna 1 menos como tu dices. Título: Re: [MySQL] Consulta con LIKE omite el primer elemento al momento de listar ! Publicado por: Diabliyo en 14 Octubre 2013, 16:42 pm Buen dia...
Pues resuelto :D... El detalle es que hacia una llamada a mysql_fetch_array() para verificar la forma en como se visualizaria el contenido, eso hacia que el puntero se fuera a la posición 2 y a partir de ahí continuaba imprimiendo, por ende el primer dato ya no era visible :S !.... La solución es regresar el punto al principio con: Código Saludos ! |