logoExtra: buscar

Descripción: Con este comodín/extra podemos buscar textos en los contenidos de los distintos elementos del diario (apuntes, categorías, etiquetas, extras, imágenes).


A continuación mostramos los apuntes asociados a este extra:

Este diario: resumen del año 2011
Este año que acaba de terminar hemos publicado algo más de una cincuentena de apuntes de diversa índole, pero también hemos modificado algunos aspectos de la misma, tanto estéticos como de funcionalidad.
/*
    [rss]Con este comodín/extra podemos buscar textos en los contenidos de los distintos elementos del diario (apuntes, categorías, etiquetas, extras, imágenes).[/rss]
*/

$tablas = $_GET["tabla"];
$texto = $_GET["buscar"];

$encontrados = array();
if (isset($tablas) && $texto != "")    {
    while(count($tablas) > 0)    {
        $tabla = array_shift($tablas);
        switch($tabla)    {
            case "apuntes":
                $sql = "select titulo, apunte from $tabla_apuntes where apunte like '%$texto%'";
                @$res = mysql_query($sql);
                if ($res)    {
                    while ($dato = mysql_fetch_array($res))    {
                        $titulo = $dato["titulo"];
                        //$apunte = $dato["apunte"];
                        array_push($encontrados, "<dt>apunte: <a href='index.php?titulo=".urlencode($titulo)."'>$titulo</a></dt>");
            preg_match('/\[rss\](.*?)\[\/rss\]/is', $dato["apunte"], $apunte);

                        array_push($encontrados, "<dd>{$apunte[1]}</dd>");
                    }
                }
            break;
            case "extras":
                $tablita = "tabla_$tabla";
                $tt = $$tablita;
                $titu = substr($tabla, 0, strlen($tabla) - 1);
                $sql = "select nombre, descripcion from $tt where descripcion like '%$texto%'";
                @$res = mysql_query($sql);
                if ($res)    {
                    while ($dato = mysql_fetch_array($res))    {
                        $nombre = $dato["nombre"];
                        array_push($encontrados, "<dt>$titu: <a href='diario.jocker.php?extra=codigo&codigo=".urlencode($nombre)."'>$nombre</a></dt>");
            preg_match('/\[rss\](.*?)\[\/rss\]/is', $dato["descripcion"], $apunte);

                        array_push($encontrados, "<dd>{$apunte[1]}</dd>");
                    }
                }
            break;


            case "imagenes":
                $sql = "select id, titulo, descripcion from $tabla_imagenes where descripcion like '%$texto%'";
                @$res = mysql_query($sql);
                if ($res)    {
                    while ($dato = mysql_fetch_array($res))    {
                        $titulo = $dato["titulo"];
                        $id = $dato["id"];
                        array_push($encontrados, "<dt>Imagen: <a href='diario.ficha.php?id=$id'>$titulo</a></dt>");
            preg_match('/\[rss\](.*?)\[\/rss\]/is', $dato["descripcion"], $apunte);

                        array_push($encontrados, "<dd>{$apunte[1]}</dd>");
                    }
                }
            break;


            default:
                $tablita = "tabla_$tabla";
                $tt = $$tablita;
                $titu = substr($tabla, 0, strlen($tabla) - 1);
                $sql = "select nombre, descripcion from $tt where descripcion like '%$texto%'";
                @$res = mysql_query($sql);
                if ($res)    {
                    while ($dato = mysql_fetch_array($res))    {
                        $nombre = $dato["nombre"];
                        array_push($encontrados, "<dt>$titu: <a href='index.php?$titu=".urlencode($nombre)."'>$nombre</a></dt>");
            preg_match('/\[rss\](.*?)\[\/rss\]/is', $dato["descripcion"], $apunte);

                        array_push($encontrados, "<dd>{$apunte[1]}</dd>");
                    }
                }
            break;
        }
    }
    if (count($encontrados) == 0)
        array_push($encontrados, "<dt>No se han encontrado...</dt>");
}
else    {
    if ($texto == "")
        array_push($encontrados, "<dt>No hay texto para buscar</dt>"); 
    else
        array_push($encontrados, "<dt>No se ha definido ninguna tabla</dt>"); 
}

$title = "<title>Buscar: $texto</title>";
$cabeza = "<h1>Buscar: $texto</h1>";
$hoy = getdate();
$año = $hoy["year"];

$otros_anuarios = array();
for ($i = 2010; $i <= $año; $i++)
    array_push($otros_anuarios, "<a href='?extra=anuario&amp;a=$i' >$i</a>");
$anuarios = implode(", ", $otros_anuarios);

ob_start();
echo <<< pie
<div id="copyright">
    <h6>
        <span style="font-weight: bolder">Copyright © 2002-$year <a href="index.php">www.pepemolina.com</a></span>
        <br/>
        <a href="diario.rss.xml" >RSS</a>
            <a href="diario.rss.xml" ><img src="diario.imagen.php?id=22&max=10" alt="rss" title="rss" longdesc="diario.ficha.php?id=22" /></a>
        | Ver
        <a href="diario.sitemap.html" >
            Mapa del sitio
        </a>
    </h6>
</div><!-- id="copyright" -->
pie;
$pie = ob_get_clean();
$cuenta = count($encontrados);
$lis = implode($encontrados, "\n");
$socios = "<p>A continuación mostramos los <b>$cuenta</b> elementos encontrados en la búsqueda:</p>\n<dl>$lis</dl>\n";
ob_start();
echo <<< cuerpo

$cabeza
$socios
<hr/>

<p>
    <b>Listados</b>:
    <a href='?extra=imagenes'>imágenes</a>,
    <a href='?extra=categorias'>categorías</a>,
    <a href='?extra=etiquetas'>etiquetas</a>,
    <a href='?extra=extras'>extras</a> |
    <b>Anuarios</b>:
    $anuarios |
    <b>volver</b> al <a href='?extra=buscador'>buscador</a>
</p>
$pie

cuerpo;
$body = ob_get_clean();

ob_start();
echo <<< estilos

body    {
    text-align: left;
    padding: 0;
    margin: 0;
}

h1    {
    text-align: center;
    margin: 0;
    padding: .5em;
    background-color: #eeeeee;
}

h6    {
    text-align: center;
    background-color: #eeeeee;
    margin: 0;
    padding: .5em;
}

p    {
    margin: 0 auto;
    text-indent: 3em;
}

dl    {
    margin: 1em auto;
    width: 70%;
    border: 1px solid black;
    padding: 1em;
}

li    {
    margin-left: 2em;
}

estilos;
$css = ob_get_clean();

$doctype = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
$links = "<link rel='shortcut icon' href='caricatos.ico' />\n";

Este código ha sido leído en 120 ocasiones.

Zona de comentarios

Esta extra aún no tiene comentarios.

Evaluación

Valoración de esta página: (extra.buscar) valor

Valoración evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar

Respuesta: Zona de mensajes (proceso de evaluación)

Listados: imágenes, categorías, etiquetas, extras | Anuarios: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 | Otros enlaces: buscador