Foros del Web » Programando para Internet » PHP »

Busqueda avanzada

Estas en el tema de Busqueda avanzada en el foro de PHP en Foros del Web. Hola a Todos Quisiera saber si me pueden ayudar en econtrar el error en este buscador avanzado: Cita: $cadbusca= "SELECT referencia, titulo, MATCH (titulo, desarrollo) ...
  #1 (permalink)  
Antiguo 08/12/2011, 07:32
 
Fecha de Ingreso: marzo-2008
Ubicación: Posadas Misiones Argentina
Mensajes: 480
Antigüedad: 16 años, 1 mes
Puntos: 1
Busqueda avanzada

Hola a Todos

Quisiera saber si me pueden ayudar en econtrar el error en este buscador avanzado:

Cita:
$cadbusca= "SELECT referencia, titulo, MATCH (titulo, desarrollo) AGAINST ('%$busqueda%') as Score FROM `articulos` WHERE MATCH (titulo, desarrollo) AGAINST ('%$busqueda%') ORDER BY Score DESC LIMIT 50";

$result=mysql_query($cadbusca, $conexion);

While($row=mysql_fetch_object($result))
{
//Mostramos los titulos de los articulos o lo que deseemos...
$referencia=$row->referencia;
$titulo=$row->titulo;
echo $referencia." - ".$titulo."<br>";;
}
´

Aclaración:El error me da en la linea que esta con negrita(la del bucle), y es el siguiente:

Cita:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\videos tutoriales en php\vida estudiantil misiones v3\buscar.php on line 33.
Gracias.
  #2 (permalink)  
Antiguo 08/12/2011, 07:36
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Busqueda avanzada

¿probaste la cadena SQL en un programa Admin de Base de datos como phpMyAdmin?: puede deberse a errores de sintaxis en el SQL
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 08/12/2011, 08:58
 
Fecha de Ingreso: marzo-2008
Ubicación: Posadas Misiones Argentina
Mensajes: 480
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Busqueda avanzada

Hola

Cita:
¿probaste la cadena SQL en un programa Admin de Base de datos como phpMyAdmin?: puede deberse a errores de sintaxis en el SQL
He probado con PHPMyAdmin, pero me arroja una consulta con la instrucción like, y yo lo que necesito es una busqueda Avanzada con la instrución MATCH AGAINST.

Espero su ayuda. Gracias.
  #4 (permalink)  
Antiguo 08/12/2011, 09:02
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 2 meses
Puntos: 52
Respuesta: Busqueda avanzada

Si ejecutas esta codigo en el SQL de phpMyAdmin

Código SQL:
Ver original
  1. SELECT referencia, titulo, MATCH (titulo, desarrollo) AGAINST ('%$busqueda%') AS Score FROM `articulos` WHERE MATCH (titulo, desarrollo) AGAINST ('%$busqueda%') ORDER BY Score DESC LIMIT 50

Que resultado arroja?
__________________
Aprendiendo!!!
  #5 (permalink)  
Antiguo 08/12/2011, 10:30
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 12 años, 5 meses
Puntos: 23
Respuesta: Busqueda avanzada

Hola

Si te funciona la consulta, cambia esto:

Cambia esta línea que tienes:
$result=mysql_query($cadbusca, $conexion);

Por esta otra:
$result=mysql_query($conexion, $cadbusca);

Cuéntanos a ver que tal te fue
  #6 (permalink)  
Antiguo 08/12/2011, 12:06
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Busqueda avanzada

Cita:
Iniciado por ElSiniestro Ver Mensaje
Hola

Si te funciona la consulta, cambia esto:

Cambia esta línea que tienes:
$result=mysql_query($cadbusca, $conexion);

Por esta otra:
$result=mysql_query($conexion, $cadbusca);

Cuéntanos a ver que tal te fue
no puedes invertir el orden de los parámetros, la función es clara: string query, resource link_identifier

http://php.net/manual/es/function.mysql-query.php
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 08/12/2011, 17:29
 
Fecha de Ingreso: marzo-2008
Ubicación: Posadas Misiones Argentina
Mensajes: 480
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Busqueda avanzada

Hola

Les tengo que contar que el error lo corregi. Me decia despues de ejecutar la consulta en PHPAdmin(como me sugirio anacona 16) que habia campos de columnas que no estaba definido como índices FULL TEXT.

Yo lo habia definido, cuando hice la tabla pero no lo estaba viendo en la estructura, entonces no sabia lo que pasaba.

Luego trate de buscar la vuelta y vi en el codigo de SQL (dentro de PHP Admin) que faltaba definir el campo titulo como indice FULL TEXT. Cuando lo define con código , la búsqueda me anduvo.

Gracias a Dios, ahora la búsqueda me anda bien.

Gracias compañeros del Foro del Web.
  #8 (permalink)  
Antiguo 08/12/2011, 18:50
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 12 años, 5 meses
Puntos: 23
Respuesta: Busqueda avanzada

Cita:
Iniciado por maycolalvarez Ver Mensaje
no puedes invertir el orden de los parámetros, la función es clara: string query, resource link_identifier

[url]http://php.net/manual/es/function.mysql-query.php[/url]
Tienes razón, lo que pasa es que pensé que ese era el error debido a que uso permanentemente mysqli... gracias por la corrección Maycol

Etiquetas: mysql, sql, 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 15:02.