Programas Informativos


"; // trazas_______ //echo "to: $to

"; // trazas_______ // query ---------------------------------------- $filtrocadena = ""; $filtrocategoria = ""; if ($idcadena != -1) { $filtrocadena = " and IDPROGRAMA IN ( SELECT IDPROGRAMA FROM T_EMISION WHERE CADENA = $idcadena ) "; } if ($idcategoria != -1) { $filtrocategoria = " and IDCATEGORIA = $idcategoria "; } $queryProgramas = "SELECT P.IDPROGRAMA, P.NOMBRE, P.IDESTADO, P.IDAMBITO, P.PAGINA, P.NOMBRE_WEB, P.KEYFRAME, P.EMAIL, P.DOSSIER FROM T_PROGRAMA P JOIN T_SOCIEDAD S ON P.IDSOCIEDAD = S.IDSOCIEDAD AND P.DISP_FRONT = 'S' AND S.NOMBRE = '$sociedad' $filtrocadena $filtrocategoria ORDER BY P.NOMBRE "; $queryProgramas_count = "SELECT COUNT(*) AS NUM FROM ($queryProgramas) "; // lanzamiento de query ------------------------- $con = crearConexion(); $stmtProgramas_count = ociparse ($con, $queryProgramas_count); ociexecute ($stmtProgramas_count, OCI_DEFAULT); $num_programas = 0; if ( ocifetch($stmtProgramas_count) ) { $num_programas = ociresult ($stmtProgramas_count, "NUM"); } //echo "numero de programas: $num_programas"; // trazas_________ // ------------------------- PAGINACION PARTE DE ARRIBA -------------------------------- if ($num_programas > 0) { // si hay programas entonces vemos si hay mas de una pagina $aux = $num_programas / $progs_por_pagina; $paginas = ceil($aux); if ($pagina > $paginas || $pagina < 1) { $pagina = 1; $from = ($pagina - 1) * $progs_por_pagina + 1; $to = $from + ($progs_por_pagina-1); } //echo "paginas: $paginas

"; // trazas_______ //echo "num_programas: $num_programas

"; // trazas_______ //echo "pagina: $pagina
"; // trazas_______ //echo "--------------------------------

"; // trazas_______ if ($paginas > 1) { echo "
"; echo "
    "; // pagina primera if ($pagina != 1) { $href = $ruta_informativos . "?pagina=1"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria echo "
  • Primero
  • "; } else { echo "
  • Primero
  • "; } // pagiona previa if ($pagina != 1) { $prevpage = $pagina - 1; $href = $ruta_informativos . "?pagina=$prevpage"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria echo "
  • Anterior
  • "; } else { echo "
  • Anterior
  • "; } // todas las paginas for ($indice=1; $indice <= $paginas; $indice++) { if ($indice == $pagina) { //echo "$indice "; echo "
  • $indice
  • "; } else { $href = $ruta_informativos . "?pagina=$indice"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria //echo "$indice "; echo "
  • $indice
  • "; } } // pagina siguiente if ($pagina != $paginas) { $nextpage = $pagina + 1; $href = $ruta_informativos . "?pagina=$nextpage"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria //echo "

    Pagina siguiente


    "; echo "
  • Siguiente
  • "; } else { echo "
  • Siguiente
  • "; } // pagina ultima if ($pagina != $paginas) { $href = $ruta_informativos . "?pagina=$paginas"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria echo "
  • Último
  • "; } else { echo "
  • Último
  • "; } echo "
"; echo "
"; } // fin de if ($paginas > 1) } // fin de "si hay programas entonces vemos si hay mas de una pagina"" // ----------------------- FIN DE PAGINACION PARTE DE ARRIBA --------------------------- ?>
0) { // si hay programas echo "
    "; // query de programas paginada $queryProgramas_pag = "SELECT B.* FROM ( SELECT A.*, ROWNUM FILA FROM ( $queryProgramas ) A ) B WHERE FILA BETWEEN $from AND $to"; //$queryProgramas_pag = $queryProgramas; // borrar esta linea para usar paginacion ************************************** $stmtProgramas_pag = ociparse ($con, $queryProgramas_pag); ociexecute ($stmtProgramas_pag, OCI_DEFAULT); // ------------------------------- RECORRIDO DE TODOS LOS PROGRAMAS -------------------------------------- while ( ocifetch($stmtProgramas_pag) ) { $idestado_prog = ociresult ($stmtProgramas_pag, "IDESTADO"); $idambito_prog = ociresult ($stmtProgramas_pag, "IDAMBITO"); $id_prog = ociresult ($stmtProgramas_pag, "IDPROGRAMA"); $nombre_prog = ociresult ($stmtProgramas_pag, "NOMBRE"); $pagina_prog = ociresult ($stmtProgramas_pag, "PAGINA"); $nombre_web_prog = ociresult ($stmtProgramas_pag, "NOMBRE_WEB"); $keyframe_prog = ociresult ($stmtProgramas_pag, "KEYFRAME"); $email_prog = ociresult ($stmtProgramas_pag, "EMAIL"); $dossier_prog = ociresult ($stmtProgramas_pag, "DOSSIER"); $queryCategoria = "SELECT NOMBRE FROM T_CATEGORIZACION_PROGRAMAS WHERE IDCATEGORIA = '$idcategoria'"; $queryEstado = "SELECT NOMBRE FROM T_ESTADO_PROGRAMA WHERE IDESTADO = $idestado_prog"; $queryAmbito = "SELECT NOMBRE FROM T_AMBITOS_PROGRAMA WHERE IDAMBITO = $idambito_prog"; $queryEmisiones = "SELECT D.ABREVIADO AS DIA, P.ABREVIADO, E.HORA, C.NOMBRE, S.NOMBRE AS NOMBRE2, E.IDEMISION FROM T_EMISION E LEFT JOIN T_PERIODICIDAD P ON P.IDPERIODICIDAD = E.PERIODO LEFT JOIN T_CADENAS C ON C.IDCADENA = E.CADENA LEFT JOIN T_DIA_SEMANA D ON D.DIA = E.DIA INNER JOIN T_SOCIEDAD S ON S.IDSOCIEDAD = C.IDSOCIEDAD WHERE E.IDPROGRAMA = $id_prog AND E.PRINCIPAL = 'S' ORDER BY E.IDEMISION DESC"; $stmtEmisiones = ociparse ($con, $queryEmisiones); ociexecute ($stmtEmisiones, OCI_DEFAULT); if ( !ocifetch($stmtEmisiones) ) { $queryEmisiones = "SELECT * FROM (SELECT D.ABREVIADO AS DIA, P.ABREVIADO, E.HORA, C.NOMBRE, S.NOMBRE AS NOMBRE2, E.IDEMISION FROM T_EMISION E LEFT JOIN T_PERIODICIDAD P ON P.IDPERIODICIDAD = E.PERIODO LEFT JOIN T_CADENAS C ON C.IDCADENA = E.CADENA INNER JOIN T_SOCIEDAD S ON S.IDSOCIEDAD = C.IDSOCIEDAD LEFT JOIN T_DIA_SEMANA D ON D.DIA = E.DIA WHERE E.IDPROGRAMA = $id_prog ORDER BY C.IDCADENA ASC) WHERE ROWNUM = 1"; } // Pagina web if ( is_null($pagina_prog) || $pagina_prog == '' ) { $pagina_prog = "http://www.rtve.es/programas/" . $nombre_web_prog; } // Categoria $stmtCategoria = ociparse ($con, $queryCategoria); ociexecute ($stmtCategoria, OCI_DEFAULT); $categoria_prog = ""; if ( ocifetch($stmtCategoria) ) { $categoria_prog = ociresult ($stmtCategoria, "NOMBRE"); } // Estado $stmtEstado = ociparse ($con, $queryEstado); ociexecute ($stmtEstado, OCI_DEFAULT); $estado_prog = ""; if ( ocifetch($stmtEstado) ) { $estado_prog = ociresult ($stmtEstado, "NOMBRE"); } //-------------- CASO PARA PROGRAMAS INACTIVOS ------------------ if ($idestado_prog == 2 || $idestado_prog == 3) { // $idestado_prog=2 (FINALIZADO) O $idestado_prog=3 (HISTORICO) $cadena_prog = ""; $num_emisiones = 0; $emisiones_prog = ""; } // ------------ FIN DE CASO PARA PROGRAMAS INACTIVOS ------------ // ---------- CASO PARA PROGRAMAS ACTIVOS (EN EMISION) ---------- else { // $idestado_prog=1 // Ambito $stmtAmbito = ociparse ($con, $queryAmbito); ociexecute ($stmtAmbito, OCI_DEFAULT); $ambito_prog = ""; if ( ocifetch($stmtAmbito) ) { $ambito_prog = ociresult ($stmtAmbito, "NOMBRE"); } // Cadena $stmtEmisiones = ociparse ($con, $queryEmisiones); ociexecute ($stmtEmisiones, OCI_DEFAULT); $cadena_prog = ""; if ( ocifetch($stmtEmisiones) ) { $cadena_prog = ociresult ($stmtEmisiones, "NOMBRE2"); $cadena_prog = $cadena_prog . " " . ociresult ($stmtEmisiones, "NOMBRE"); } // Emisiones $emisiones_prog = ''; $stmtEmisiones = ociparse ($con, $queryEmisiones); ociexecute ($stmtEmisiones, OCI_DEFAULT); while ( ocifetch($stmtEmisiones) ) { $hora_bd_prog = ociresult ($stmtEmisiones, "HORA"); $dia_bd_prog = ociresult ($stmtEmisiones, "DIA"); $abrev_bd_prog = ociresult ($stmtEmisiones, "ABREVIADO"); $idemision_prog = ociresult ($stmtEmisiones, "IDEMISION"); // ejemplo de valor de $hora_bd_prog: 00:30:00 list($h, $m, $s) = split(":", $hora_bd_prog, 3); $hora = $h . 'h' . $m; if ( !is_null($dia_bd_prog) && strlen($dia_bd_prog) != 0 ) { $emisiones_prog = $emisiones_prog . $dia_bd_prog . ' '; } else if ( !is_null($abrev_bd_prog) && strlen($abrev_bd_prog) != 0 ) { $emisiones_prog = $emisiones_prog . $abrev_bd_prog . ' '; } else { // hacemos query extra para sacar los dias de emision $queryDias = "SELECT DE.IDDIA, DS.ABREVIADO FROM T_DIAS_EMISION DE INNER JOIN T_DIA_SEMANA DS ON DE.IDDIA = DS.IDDIA WHERE DE.IDEMISION = $idemision_prog ORDER BY DE.IDDIA"; //echo $queryDias; // traza _____________ $strdias = array(); $compo = array(); $union = 0; $id = 0; $stmtDias = ociparse ($con, $queryDias); ociexecute ($stmtDias, OCI_DEFAULT); while ( ocifetch($stmtDias) ) { $iddia = ociresult ($stmtDias, "IDDIA"); $abrev_dia = ociresult ($stmtDias, "ABREVIADO"); if ($id+1 != $iddia) { //echo "\nTRAZA1: " . "Programa = $nombre_prog, id = $id, iddia = $iddia " . "count(compo) = " . count($compo) . "\n"; // traza _____________ if ( count($compo) > 0 ) { $compo0 = array_shift($compo); if ( count($compo) > 0 ) { $compo1 = array_shift($compo); if ($union == 1) { $compo_union = $compo0 . '-' . $compo1; array_push($strdias, $compo_union); $union = 0; } else { array_push($strdias, $compo0); array_push($strdias, $compo1); } } else { array_push($strdias, $compo0); } } } if ( count($compo) == 2 ) { $union = 1; $compo0 = array_shift($compo); $compo1 = array_shift($compo); array_unshift($compo, $compo0); } array_push($compo, $abrev_dia); $id = $iddia; } // while ( ocifetch($stmtDias) ) if ( count($compo) > 0 ) { $compo0 = array_shift($compo); if ( count($compo) > 0 ) { $compo1 = array_shift($compo); if ($union == 1) { $compo_union = $compo0 . '-' . $compo1; array_push($strdias, $compo_union); } else { array_push($compo, $compo0); array_push($compo, $compo1); } } else { array_push($strdias, $compo0); } } $str = ''; foreach( $strdias as $value ) { if ($str != '') { $str = $str . ', '; } $str = $str . $value; } $emisiones_prog = $emisiones_prog . $str; } // Fin de query extra para sacar los dias de emision $emisiones_prog = $emisiones_prog . ' a las ' . $hora . ' '; } // while ( ocifetch($stmtEmisiones) ) // :::::::::::::::::::::::::::::::: NUEVA VENTANA EMISIONES ::::::::::::::::::::::::::::::::::::: $queryEmisiones = "SELECT * FROM T_EMISION EM WHERE EM.IDPROGRAMA = $id_prog AND NOT (EM.DIA='' AND EM.PERIODO='' AND HORA='00:00:00' AND PRINCIPAL='S')"; $queryEmisiones_count = "SELECT COUNT(*) AS NUM FROM ($queryEmisiones)"; $stmtEmisiones_count = ociparse ($con, $queryEmisiones_count); ociexecute ($stmtEmisiones_count, OCI_DEFAULT); $num_emisiones = 0; if ( ocifetch($stmtEmisiones_count) ) { $num_emisiones = ociresult ($stmtEmisiones_count, "NUM"); } // :::::::::::::::::::::::::::: FIN DE NUEVA VENTANA EMISIONES :::::::::::::::::::::::::::::::::::: } // if ($idestado_prog == 1) // ---------- FIN DE CASO PARA PROGRAMAS ACTIVOS (EN EMISION) ---------- ?>
  • | Ámbito $ambito_prog"; ?> 1) { ?>

    0 ) { if ( !is_null($pagina_prog) && strlen($pagina_prog) > 0 ) { echo ""; } echo "\"Logotipo"; if ( !is_null($pagina_prog) && strlen($pagina_prog) > 0 ) { echo ""; } } else { // hay que aplicar el class bkgfotoprog **************************************************************** echo "\"No"; } ?>
    1. para email if ( !is_null($email_prog) && strlen($email_prog) > 0) { echo ""; } ?>
    2. para dossier if ( !is_null($dossier_prog) && strlen($dossier_prog) > 0) { echo ""; } ?>
  • "; cerrarConexion($con); } // fin de si hay programas (if ($num_programas > 0)) else { echo "No hay resultados para esta búsqueda"; } ?>
Espacio reservado para publicidad
0) { // si hay programas entonces vemos si hay mas de una pagina $aux = $num_programas / $progs_por_pagina; $paginas = ceil($aux); if ($pagina > $paginas || $pagina < 1) { $pagina = 1; $from = ($pagina - 1) * $progs_por_pagina + 1; $to = $from + ($progs_por_pagina-1); } //echo "paginas: $paginas

"; // trazas_______ //echo "num_programas: $num_programas

"; // trazas_______ //echo "pagina: $pagina
"; // trazas_______ //echo "--------------------------------

"; // trazas_______ if ($paginas > 1) { echo "
"; echo "
    "; // pagina primera if ($pagina != 1) { $href = $ruta_informativos . "?pagina=1"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria echo "
  • Primero
  • "; } else { echo "
  • Primero
  • "; } // pagiona previa if ($pagina != 1) { $prevpage = $pagina - 1; $href = $ruta_informativos . "?pagina=$prevpage"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria echo "
  • Anterior
  • "; } else { echo "
  • Anterior
  • "; } // todas las paginas for ($indice=1; $indice <= $paginas; $indice++) { if ($indice == $pagina) { //echo "$indice "; echo "
  • $indice
  • "; } else { $href = $ruta_informativos . "?pagina=$indice"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria //echo "$indice "; echo "
  • $indice
  • "; } } // pagina siguiente if ($pagina != $paginas) { $nextpage = $pagina + 1; $href = $ruta_informativos . "?pagina=$nextpage"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria //echo "

    Pagina siguiente


    "; echo "
  • Siguiente
  • "; } else { echo "
  • Siguiente
  • "; } // pagina ultima if ($pagina != $paginas) { $href = $ruta_informativos . "?pagina=$paginas"; // &sociedad=$sociedad&idcadena=$idcadena&idcategoria=$idcategoria echo "
  • Último
  • "; } else { echo "
  • Último
  • "; } echo "
"; echo "
"; } // fin de if ($paginas > 1) } // fin de "si hay programas entonces vemos si hay mas de una pagina"" // ----------------------- FIN DE PAGINACION PARTE DE ABAJO --------------------------- ?>