Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/05/2010, 18:20
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
PAGINATOR y ORDER BY [puntuacion] no van bien juntos

Estoy instalando el tipico buscador, que difiere entre palabras simple y múltiples palabras:

Cita:
// cuento numero de palabras
$trozos=explode(" ",$search);
$numero=count($trozos);


if ($numero==1) {
// only one word
$_pagi_sql= "SELECT DISTINCT* FROM manual_contents WHERE sections LIKE '%$search%' AND language = '$language'";
}
elseif ($numero>1) {
// more than one: a phrase.
$_pagi_sql = "SELECT chapter_id,page_id,section_id,sections, MATCH(sections) AGAINST ('$search' IN BOOLEAN MODE) AS score FROM manual_contents WHERE MATCH (sections) AGAINST ('$search' IN BOOLEAN MODE) AND language = '$language' ORDER BY score DESC";
};
El problema es que al paginar usando el PAGINATOR entra en conflicto la sentencia ORDER BY [puntuacion]. El error es este:

Cita:
Error en la consulta de conteo de registros: SELECT COUNT(*) FROM manual_contents WHERE MATCH (sections) AGAINST ('animation track' IN BOOLEAN MODE) AND language = 'en' ORDER BY score DESC. Mysql dijo: Unknown column 'score' in 'order clause'
Se que de alguna u otra manera este tema ya fue tratado en el foro. Pero no encuentro solución. También estuve leyendo esto que es un chateo en donde no han encontrado solución clara.

Pero espero que alguien sepa la solución. Gracias!.

Última edición por mayid; 10/05/2010 a las 18:25