Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/02/2013, 06:34
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: ordenar Array en consulta mysql

Código MySQL:
Ver original
  1. SELECT i.idItem,...listaCamposDe i...., Sbc.fechaV
  2. FROM items i INNER JOIN
  3.      (SELECT iv.idItem,
  4.                    MAX(iv.fecha) fechaV
  5.       FROM itemsVistos
  6.       WHERE iv.idItem<>'" . $idItem . "'
  7.       GROUP BY iv.idItem) as Sbc
  8. ON i.idItem=Sbc.idItem
  9. ORDER BY Sbc.fechaV DESC

Esto te da lo que buscas en una sola consulta y ordenado como lo quieres...incluso mejor por que con el MAX()... GROUP BY solo verás la ultima fecha de visita de cada Item.

fecha<='" . $ahora . "'

Puedes tener items con fecha futura?

Si es así no hace falta que uses una variable

fecha<=NOW() es más eficiente....


Código MySQL:
Ver original
  1. SELECT i.idItem,...listaCamposDe i...., Sbc.fechaV
  2. FROM items i INNER JOIN
  3.      (SELECT iv.idItem,
  4.                    MAX(iv.fecha) fechaV
  5.       FROM itemsVistos
  6.       WHERE iv.idItem<>'" . $idItem . "'
  7.       GROUP BY iv.idItem) as Sbc
  8. ON i.idItem=Sbc.idItem
  9. WHERE i.fecha<=NOW()
  10. ORDER BY Sbc.fechaV DESC

(si hay items futuros)

Por cierto si iditem es numérico puedes poner tranquilamente

...WHERE iv.idItem<>" . $idItem . "...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 13/02/2013 a las 06:43