Crear bucle de artículos por un RecordSet

Marcelo, si bien está bueno saber que se puede usar php (y en este
caso hacer consultas mysql ad hoc) es preferible dejarlo sólo para
casos de urgencia.

1º que al hacer la cosa como la estas haciendo, además de mezclar
logica con apariencia (un modelo-vista-controlador todo en 1), perdes
las bondades de usar codigo spip, como aprovechar el anidamiento de
criterios, el sistema de cache (muy importante!) y, como notaste, el
sistema de paginacion.

queda claro que este codigo se ejecutaria por cada page view, que
implicaria una consulta a mysql (mas aun, abrir y cerrar una conexion)
y si fuese tu caso de muchas visitas y un servidor chiquito, los de tu
hosting te echarian flit a las pocas horas.

pues bien, para mi la solucion pasa por usar el poderosisimo criterio
de las expresiones regulares que se describe en el viejo y querido
articulo "criterios comunes" de la doc.

Basicamente, cualquier "campo" de un elemento puede usarse como
criterio de bucle. Al usar el operador == se le indica que lo que
sigue es una expresion regular, con lo que puede hacerse casi
cualquier cosa. Si solo queres comparar una subcadena en el
#DESCRIPTIF, no hace falta mucho mas.

<BOUCLE_art(ARTICLES){descriptif==#ENV{Texto}}{par date}{inverse}{pagination}>
<h1><a href="#URL_ARTICLE">#TITRE</a></h1><br>
#DESCRIPTIF
<hr />
</BOUCLE_art>
#PAGINATION
</B_art>

ese bucle devolveria todos los articulos cuya descripcion coincida con
una variable Texto pasada al entorno (ya sea por get -a traves de la
url- como por post) .

por ejemplo, si lo guardas como prueba.html

podrias ejecutarlo asi /spip.php?page=prueba&Texto=lo%20que%20buscas

y deberia devolver todos los articulos que tengan la cadena "lo que
buscas" en la descripcion.

asi volverias a tener tu bucle en formato spip, con la posibilidad de
paginarlo.
un abrazo,
martin

El 28/03/08, marcelo gracia <mjgracia2003@yahoo.com.ar> escribió:

Hola a todos.
Los otros días pregunte en el foro como podía hacer una búsqueda por el campo Descripción
de la tabla artículos en spip.
Bueno luego de realizar la misma, (funcionando actualmente), tengo la necesidad de crear
un bucle de artículos paginado con el formato spip.

Pregunto, se puede crear un bucle spip sobre el resultado de un recordset de mysql?.

Esta es la función de donde obtengo el rs de mysql:

        $sql = "SELECT * FROM spip_articles WHERE descriptif LIKE \"%$Texto%\"";
        $link = conexion();
        $registros = ejecutar($sql,$link);
        if (recordcount($registros) > 0){

                while ($dato = mysql_fetch_array($registros,MYSQL_ASSOC)){
                        $Titulo = $dato['titre'];
                        $Id = $dato['id_article'];
                        $url = "spip.php?article". $Id;
                        echo("<a href=\"$url\">$Titulo</a><br/><br/>");
                };
                mysql_free_result($registros);
        };
        mysql_close();

mi idea es que dentro del bucle while, en vez de hacer un echo con los campos a mostrar,
realizar una paginación de artículos pero con el bucle de spip.

Espero alguna ayudita!.
Gracias, marcelo

      Yahoo! Encuentros.

Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros http://yahoo.cupidovirtual.com/servlet/NewRegistration

_______________________________________________
Spip-es@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-es