コード例 #1
0
    $lista_bucle_tipos = array_keys($public_rel_tipos);
}
// añade estados si está definido
$lista_estados = array();
for (reset($public_estados_visibles); $estado_pub = key($public_estados_visibles); next($public_estados_visibles)) {
    if ($_GET["E_{$estado_pub}"] == 1) {
        array_push($lista_estados, $estado_pub);
    }
}
// Para cada una de los tipos, haz la consulta de publicaciones
// de esta forma conseguimos la ordenación deseada en los tipos
for (reset($lista_bucle_tipos); $tipo_consultado = current($lista_bucle_tipos); next($lista_bucle_tipos)) {
    // construye consulta de obtencion de publicaciones según los parámetros
    // de busqueda
    $consulta_id = "SELECT DISTINCT(id_referencia), COUNT(id_campo_ref), " . "tipo_bibtex, id_ref_bibtex, idioma, estado, link_referencia, " . "tipo_link FROM referencias LEFT JOIN ref_relacion " . "ON referencias.id_referencia=ref_relacion.id_ref " . "LEFT JOIN ref_campos " . "ON ref_relacion.id_campos=ref_campos.id_campo_ref ";
    $condicion_busqueda = "WHERE " . AUX_condicion_tipos($tipo_consultado) . AUX_condicion_bibtex($_GET['id_ref_bibtex']) . AUX_condicion_estado($lista_estados) . AUX_condicion_campos($lista_cond_sin);
    $agrupacion = "GROUP BY id_referencia ";
    $ordenacion = "ORDER BY fecha_publicacion DESC";
    // Construye consulta completa
    $consulta_id .= $condicion_busqueda . $agrupacion . $ordenacion;
    // realiza consulta de seleccion de id's
    $resultado = mysql_query($consulta_id, $conexion);
    if (!$resultado) {
        echo "Error al realizar la consulta : " . $consulta_id . "\n";
    } else {
        // para cada id obtenido
        while ($id_referencia = mysql_fetch_row($resultado)) {
            // no imprimas valor si el numero de ocurrencias
            // es menor del esperado y la lógica es AND
            if ($id_referencia[1] < $numero_ocurrencias and $_GET['logica'] == 'AND') {
                continue;
コード例 #2
0
    }
    // Carga el menu
    $_content->parse('content.menu');
}
//--------------------------------------------------------------------
// CONSULTA DE TIPOS DE PUBLICACION
//--------------------------------------------------------------------
$visible = $_SESSION['privilegios'] == INVITADO ? 1 : 0;
// contador de nº de publicaciones
$numero_publicaciones = 0;
// definicion de consultas de la base de datos
$consulta_gen = "SELECT COUNT(id_referencia) AS numero " . "FROM referencias " . "WHERE visible >= {$visible} AND ";
// bucle de consulta de cada elemento de la lista.
for (reset($public_rel_tipos); $tipo_consultado = key($public_rel_tipos); next($public_rel_tipos)) {
    // construye consulta para el tipo
    $consulta_tipo = $consulta_gen . AUX_condicion_tipos($tipo_consultado);
    // realiza consulta
    $resultado_tipo = mysql_query($consulta_tipo);
    // Miramos si la consulta se produce correctamente
    if ($resultado_tipo = mysql_query($consulta_tipo)) {
        $numero_registros = mysql_fetch_array($resultado_tipo);
        // Si el tipo de publicacion tiene alguna entrada
        if ($numero_registros['numero'] > 0) {
            // añade valor al numero de publicaciones
            $numero_publicaciones += $numero_registros['numero'];
            // si hay más de uno, inserta elemento en la tabla
            $valores_lista['VAL1'] = $tipo_consultado;
            $valores_lista['VAL2'] = $public_tipos_refer[$tipo_consultado] . " ({$numero_registros['numero']})";
            // metelos en el directorio de la página
            $_content->assign('LISTA1', $valores_lista);
            $_content->parse('content.publicaciones.tipo');