Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/03/2010, 21:00
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 6 meses
Puntos: 150
Respuesta: Ordenar en consulta anidada

Prueba con esto, te explico primero. En el primer bucle acumulamos las condiciones con OR, para luego incrustarlo en la segunda consulta, asi con 1 sola consulta te va a tomar todos los registros de dichos canales, y ordenados por la columna correcta:

Código PHP:
Ver original
  1. $txt="";
  2.  
  3. $toton = "SELECT * FROM canales WHERE tipo='peliculas'";
  4. $cadun = mysql_db_query($base_dato,$toton) or die (mysql_error());
  5. while($array = mysql_fetch_array($cadun)) {
  6. $txt=$txt."nombre_canal='$array[nombre]' OR "; // Vamos acumulando las condiciones
  7. }
  8. $txt=left($txt,strlen($txt)-4)); // quitamos el ultimo OR
  9.  
  10.  
  11. $pegare = "SELECT * FROM cable WHERE (hora_c >= '$ahora1' AND hora_c <= '$despues') AND ($txt) AND (fecha = '$eldiahoy') ORDER BY hora_c ASC";
  12. $cade = mysql_db_query($base_dato,$pegare) or die (mysql_error());
  13. while($array1 = mysql_fetch_array($cade)) {
  14. echo "$array1[hora_c] -$array1[nombre_canal] - $array1[prog_canal]";
  15. }



Ya me diras, si te sirvio