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$txt="";
$toton = "SELECT * FROM canales WHERE tipo='peliculas'";
$txt=$txt."nombre_canal='$array[nombre]' OR "; // Vamos acumulando las condiciones
}
$txt=left
($txt,strlen($txt)-4)); // quitamos el ultimo OR
$pegare = "SELECT * FROM cable WHERE (hora_c >= '$ahora1' AND hora_c <= '$despues') AND ($txt) AND (fecha = '$eldiahoy') ORDER BY hora_c ASC";
echo "$array1[hora_c] -$array1[nombre_canal] - $array1[prog_canal]";
}
Ya me diras, si te sirvio