Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2011, 04:00
Nachoseo
 
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!