Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Como ordenar registros dependiendo del valor de un campo del propio registro

Estas en el tema de Como ordenar registros dependiendo del valor de un campo del propio registro en el foro de Mysql en Foros del Web. A ver si me explico. Tengo una tabla de ofertas de viajes. En esa tabla hay un campo modulo y modulo2 para meter la oferta ...
  #1 (permalink)  
Antiguo 04/05/2011, 04:00
 
Fecha de Ingreso: enero-2008
Ubicación: Madrid
Mensajes: 72
Antigüedad: 16 años, 11 meses
Puntos: 1
Como ordenar registros dependiendo del valor de un campo del propio registro

A ver si me explico. Tengo una tabla de ofertas de viajes. En esa tabla hay un campo modulo y modulo2 para meter la oferta hasta en dos categorías, además hay dos campo portada y portada2 para que el usuario pueda o no mostrar la oferta en la portada en cada modulo o categoría y finalmente también tiene un campo para poner el orden en el que quieren que aparezca.

Esta sería la estructura:

id
nombre
modulo (id del módulo)
portada (mostrar o no en el espacio destacado del modulo en portada)
posicion_portada (posicion en el modulo de portada)
modulo2
portada2
posicion_portada2
visible

Una oferta que se muestre en portada puede estar en un módulo o en dos módulos. El problema es que si el campo portada es 1 me ordene por el valor posicion_portada y si portada2 es 1 me ordene por el valor posicion_portada2 y no por mas vueltas que le doy no se me ocurre como hacerlo.

De momento tengo echo esto pero no hace lo que yo quiero

Código SQL:
Ver original
  1. $resu=mysql_query("select * from ofertas where (id_modulo='" . $lin['id_modulo'] . "' and portada='1' and activo='1') or (id_modulo2='" . $lin['id_modulo'] . "' and portada2='1' and activo='1') order limit " .$lin['cantidad']);

Un saludo y gracias!
  #2 (permalink)  
Antiguo 04/05/2011, 06:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Como ordenar registros dependiendo del valor de un campo del propio regist

Tienes un error de sintaxis ORDER es la cláusula ORDER BY y tiene como parámetro uno o más campos de las tablas o del SELECT que se usarán para ordenar la salida.
LIMIT es la última cláusula, y determina cuántos registros se devolverán en la salida. Tiene como parámetros la cantidad solamente, si es desde el inicio de la tabla, o el desplazamiento, si descartará una cantidad de registros antes de tomar los que se devuelven.
LIMIT no acepta variables de MySQL ni valores devueltos por funciones o campos. Sólo números enteros (los puedes poner programando, como haces).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: dependiendo, propio, registro, registros, campos
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 10:32.