Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Joomla »

Ordenar resultados primero por título y luego por descripción

Estas en el tema de Ordenar resultados primero por título y luego por descripción en el foro de Joomla en Foros del Web. Hola, me gustaría poder modificar el código de este buscador de joomgallery, que es un componente de joomla, para que cuando me muestre los resultados ...
  #1 (permalink)  
Antiguo 18/05/2012, 02:18
 
Fecha de Ingreso: agosto-2011
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Ordenar resultados primero por título y luego por descripción

Hola, me gustaría poder modificar el código de este buscador de joomgallery, que es un componente de joomla, para que cuando me muestre los resultados primero aparezcan las coincidencias de título y luego las coincidencias de la descripción.
Ahora mismo me muestra todos los resultados que encuentra ordenados por el título de la foto. Tengo defeinido que por defecto ordene por 'alpha' y que la búsqueda sea por cualquier palabra 'any'. Mi problema es que no sé qué ni dónde debo modificar y tampoco sé si es mucho lio.


Como el código es muy largo y no sé donde cortar para pegarlo aquí pongo un enlace.
[URL="http://www.arpproducciones.com/varios/joomgallery.txt"]Enlace al documento[/URL]

Agradecería un poco de ayuda.
Saludos.
  #2 (permalink)  
Antiguo 18/05/2012, 09:02
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Ordenar resultados primero por título y luego por descripción

Este es el fragmento del orden alpha:

Código PHP:
case 'alpha':
        if(
$search_mode == 0)
        {
          
$clause 'imgtitle ASC';          
        }
        else
        {
          
$clause 'jgc.name ASC';
        }
        break; 
Deberías modificar esta linea para ordenar por la descripción, no se cual es la descripción, pero prueba cambiar esta linea

$clause = 'imgtitle ASC';

por esta:

$clause = 'imgtitle ASC,imgtext ASC';

y esta:

$clause = 'jgc.name ASC';

por esta:

$clause = 'jgc.name ASC,jgc.description ASC';
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 18/05/2012, 11:20
 
Fecha de Ingreso: agosto-2011
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Ordenar resultados primero por título y luego por descripción

Hola, muchas gracias por responder.

Lo he probado pero sigue igual, de hecho, aunque no tengo ni idea ya lo había probado yo, lo de la primera línea solo. Pero nada. Se nota que cambian los resultados pero no lo que necesito.
Lo que hace es buscar todas las imágenes que contienen la palabra de búsqueda en el título y en la descripción y luego coge todos los resultados y los ordena simplemente por orden alfabético.
Como sabrás es una galería fotográfica y cuando buscas un nombrfe propio, Juan y en los resultados aparece primero Antonio porque en su descripción dice algo de un tal Antonio... pues como que no queda bien. Es normal que aparezca en la búsqueda pero me gustaría que primero apareciesen los resultados que coinciden con el título exclusívamente y luego los que están en la descripción.

Perdona si me repito pero no sé si había quedao claro.

Muchas gracias por tu interés.
Un saludo.
  #4 (permalink)  
Antiguo 21/05/2012, 02:38
 
Fecha de Ingreso: agosto-2011
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Ordenar resultados primero por título y luego por descripción

Buenos días, por favor que alguien me arroje un poco de luz.
Gracias.
  #5 (permalink)  
Antiguo 21/05/2012, 05:23
Avatar de tomerqueves  
Fecha de Ingreso: marzo-2005
Ubicación: algeciras (cadiz)
Mensajes: 200
Antigüedad: 19 años, 7 meses
Puntos: 7
Respuesta: Ordenar resultados primero por título y luego por descripción

Yo te puedo decir dnde esta el botn de la bombilla pero no darte luz porque deje de hacer sentencias hace 5 años y las modifico ... ahra leeré el codigo por si se me enciende a mi la luz y te lo soluciono. a ver ...

Se basa en que solo estas cogiendo el campo nombre o estas cogiendo todos ....ehm

Ha hecho un select nombre from tabla
o un select * from tabla

de modo que ahora solo podrá ordenar por nombre.

El truco va a estar en poner un select nombre, descripcion from table were blblbla order by descripcion

o una consulta de esa indole si no recuerdo mal.

Espero haber dado algo de luz :D

Gracias, ahora me leo el codigo.



Despues de leer el codigo me he descorazonado
Esas sentencias son de una complejidad excesiva
ara el poco rato que yo dispongo.

Siento mucho no poder analizar eso y es posible
que aunque lo analizara tampoco lo descubriera
tan fácil.
Lo siento.
__________________
A todos los moderadores y admiinistradores. Si algun día me banean, por favor devolverme la carita de mi avatar

Última edición por tomerqueves; 21/05/2012 a las 05:27 Razón: Despues de leer el codigo
  #6 (permalink)  
Antiguo 21/05/2012, 06:14
 
Fecha de Ingreso: agosto-2011
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Ordenar resultados primero por título y luego por descripción

Gracias por tu interés Tormerqueves, si para tí es complicado no te digo lo mucho que es para mí.
Estoy seguro que alguien que esté "más al día" verá la solución.... y no solo eso....que la escriba por favor, con punticos y comas....jajaja.

En fin, agradezco su tiempo.

Un saludo.
  #7 (permalink)  
Antiguo 21/05/2012, 06:47
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 7 meses
Puntos: 97
Respuesta: Ordenar resultados primero por título y luego por descripción

Sin tener ni idea de joomla...
Código PHP:
case 'alpha':
        if(
$search_mode == 0)
        {
          
$clause 'imgtitle ASC, jgc.name ASC';          
        }
        else
        {
          
$clause 'jgc.name ASC';
        }
        break; 
  #8 (permalink)  
Antiguo 21/05/2012, 09:04
 
Fecha de Ingreso: agosto-2011
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Ordenar resultados primero por título y luego por descripción

Hola, gracias por responder. Lo he probado pero nada. Sigue ordenando por título de la foto.

Creo que 'jgc.name ASC' se refiere al nombre de la categoría, por lo que tampoco me vale.
  #9 (permalink)  
Antiguo 22/05/2012, 07:32
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Ordenar resultados primero por título y luego por descripción

Creo que es tu turno de seguir probando otra opciones ahí, tu conoces la base de datos y sabes que campo contiene la descripción, solo escribela ahí tal como te dije y te dijo oscartt67, nosotros no conocemos la BD que tienes :)
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #10 (permalink)  
Antiguo 22/05/2012, 09:53
 
Fecha de Ingreso: agosto-2011
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Ordenar resultados primero por título y luego por descripción

Hola Stramin, he estado probando, créeme, he probado a ponerlo de una forma, de otra, de otra.... pero creo que falta algo más porque si modifico solo lo que me decís no lo consigo y en teoría debería. El problema es que no entiendo apenas nada de DB o de programación PHP, solo lo justo de probar, modificar las cosas "sencillas" y luego tener algo de suerte.

El propio foro del componente está muerto y no hay actividad, por eso pensé que podía hacer aquí la pregunta, pero además han movido el tema al fofo de joomla y en mi opinión no creo que deba estar aquí, pero qué le vamos a hacer.

Hay algún otro dato que os pueda proporcionar para intentar darle una solución.

Muchas gracias de verdad.
Un saludo.
  #11 (permalink)  
Antiguo 22/05/2012, 13:05
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 7 meses
Puntos: 97
Respuesta: Ordenar resultados primero por título y luego por descripción

Mira, he sacado esto del código que dejaste, y tendria que darte la pista:

Código PHP:
$query = ( SELECT
                      jg
.id,
                      
jg.catid,
                      
jg.imgtitle,
                      
jg.imgauthor,
                      
jg.imgtext,
                      
jg.hits,
                      
jg.imgfilename,
                      
jg.imgthumbname,
                      
jg.owner AS imgowner,
                      
jg.imgdate AS created,
                      @
is_comment:=AS iscomment,
                      
jgc.cid,
                      
jgc.name,
                      
jgc.description,
                      
jgc.thumbnail,
                      
jgc.catpath,
                      @
cmtid as cmtid,
                      @
cmtpic as cmtpic,
                      @
cmttext as cmttext,
                      
u.name AS uname,
                      
u.username AS uusername 
seguramente, lo que buscas es

Código PHP:
   $clause 'imgtitle ASC, jg.imgtext ASC'
Saludos

Última edición por oscartt67; 22/05/2012 a las 13:43
  #12 (permalink)  
Antiguo 22/05/2012, 17:11
 
Fecha de Ingreso: agosto-2011
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Ordenar resultados primero por título y luego por descripción

Hola oscartt67, gracias, ya lo habia probao, de hecho he probao muchas combinaciones con los datos precisamente de ese listado que has pegao a raiz de los comentarios anteriores. Perdonad, quizá deberia haber posteado que habia hecho esas pruebas. Y esto es lo raro, con lo poco que sé, yo tambien creia que funcionaria... Lo demas que he hecho a sido quitar lineas o cambiarlas, cambiar 0 por 1 y esas cosas estupidas que uno hace cuando no tiene ni idea, jeje.
Mañana pegare algunos fragmentos pa ver si tiene algo que ver.
Gracias de nuevo.

Por cierto lo mio es la postproduccion, si alguien necesita algo de video estare encantado d ayudar.

Etiquetas: primero, resultados
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 04:17.