Foros del Web » Programando para Internet » PHP »

crear codigo para hacer un tipo "entradas"

Estas en el tema de crear codigo para hacer un tipo "entradas" en el foro de PHP en Foros del Web. Hola comunidad, soy nuevo aqui en fin, tengo una gran duda, apenas estoy en esto de pho y mysql y necesito hacer algo Estoy haciendo ...
  #1 (permalink)  
Antiguo 28/08/2011, 20:18
Avatar de thetwist3rtws  
Fecha de Ingreso: agosto-2011
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
crear codigo para hacer un tipo "entradas"

Hola comunidad, soy nuevo aqui

en fin, tengo una gran duda, apenas estoy en esto de pho y mysql y necesito hacer algo

Estoy haciendo una pagina en dreamweaver, por el momento no necesitaba de mucho codigo "funcional" tipo php o similares, pero ahora necesito hacer que una seccion de noticias donde se vayan publicando "entradas" como las del blog donde por ejemplo existan 5 noticias, al ser mas se hagan numeros abajo para numerar la cantidad de noticias por pagina y asi

Aun no se lo suficiente de php como para hacer algo como eso, asi que necesito su ayuda para darme una idea para hacer eso porfass

una ultima duda ¿Joomla o Wordpress permiten hacer eso usando una plantilla creada en dreamweaver?
  #2 (permalink)  
Antiguo 29/08/2011, 03:12
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: crear codigo para hacer un tipo "entradas"

Lo que buscas se llama "Paginación" de resultados, busca en este mismo foro sobre cómo hacerlo y te saldrán bastantes posts que te darán la idea inicial.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 29/08/2011, 19:55
Avatar de thetwist3rtws  
Fecha de Ingreso: agosto-2011
Mensajes: 13
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: crear codigo para hacer un tipo "entradas"

Hola , gracias por ayudarme a saber mejor lo que estoy buscando, desafortunadamente muchos de los tutos que me aparecieron aqui tienen links ya pagina que no existen ya

Ahora se mejor lo que quiero

--

Lo que deseo hacer es una Paginacion con PHP donde lo que quede paginado sean Paginas de HTML o PHP , No registros de Base de Datos como vi en todos los ejemplos de Paginacion aqui.

Hasta ahora solo llevo hecho este codigo
Código PHP:
<?php
            
            
//Variable de la carpeta raiz
            
$dir=getcwd() ;
            
            
//Abrimos el directorio para su lectura
            
$abierto=opendir($dir);
            
            
//Obtenemos unicamente los archivos html, htm y php
            
while($item=readdir($abierto))
            {
                
//Obtenemos la informacion de cada item
                
$info=pathinfo($item);
                
                
//Filtramos solo archivos con extensión html, htm, php y que no muestre el archivo "search.php"
                
if(@$info['extension']=="html" or @$info['extension']=="htm" and $item!="search.php")
                {
                
//Abrimos el archivo
                
$abre=fopen($item,'r');
                
                
//Limpiamos el contenido
                
$contenido="";
                
                
//Ciclo para obtener cada linea del contenido 
                
while($renglon=fgets($abre))
                {
                    
//Acumulamos los renglones dentro del contenido
                    
$contenido.=$renglon;
                    
                    
                }
                
//Imprime nombre del archivo (con vinculo a el) e informacion que contiene
                
echo "<a href='$item'>$item</a><br/>".$contenido."<br/><hr/>";
                
                }
            }
            
            
//Variable que cuenta cuantos archivos hay en esta carpeta
            
$cantidad=count(glob('*.*'));
            echo 
$cantidad;
    
?>
Esto lo unico que hace es detectar los Archivos HTML, HTM y PHP en la carpeta y colocarlos en la pagina, y al final decirme cuantos archivos hay

Despues de esto quiero que se Paginen de 3 por ejemplo pero por mas que intente algunas formas no supe como (les recuerdo que estoy en basico aun )

Les agradeceria mucho alguna idea para hacer esa parte
  #4 (permalink)  
Antiguo 30/08/2011, 02:35
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: crear codigo para hacer un tipo "entradas"

Bueno,

Es un poco raro tal y como lo haces, porque ya hoy en día todo el mundo utiliza Bases de Datos, pero te voy a intentar echar una mano (aunque no lo he hecho nunca esto).

Lo que haces es recorrer el directorio entero con un while que va pasando a $item todos los ficheros que lees. Si quieres dividir esto en varias páginas no tienes más remedio (creo) que almacenar los $items en una estructura paralela, por ejemplo un array. Algo así:
Código PHP:
Ver original
  1. //Variable de la carpeta raiz
  2. $dir=getcwd() ;
  3.  
  4. //Abrimos el directorio para su lectura
  5. $abierto=opendir($dir);
  6.  
  7. while($item=readdir($abierto)) {
  8.    //Obtenemos la informacion de cada item
  9.    $info=pathinfo($item);
  10.  
  11.    // Array donde almacenamos todos los documentos para leer
  12.    $docs = Array();
  13.  
  14.    //Filtramos solo archivos con extensión html, htm, php y que no muestre el archivo "search.php"
  15.    if(@$info['extension']=="html" or @$info['extension']=="htm" and $item!="search.php") {
  16.       $docs[] = $item;
  17.    }
  18. }

Este trozo lo pones al principio del script, así siempre que llames a este script se ejecutará el código y en $docs tendrás un array con todos los documentos que tienes que mostrar siempre en el mismo orden, ya que la lectura del directorio será siempre en el mismo orden.

Una vez hecho esto, sólo tienes que saber qué items del array tienes que imprimir. Para ello tienes que pasar por la URL por ejemplo la página, de esta forma:
www.mysitio.com/my_pagnia.php?pag=1

En el script rescatas el valor de pag con $_GET:
Código PHP:
Ver original
  1. $pag = (isset($_GET['pag'])) ? $_GET['pag'] : 0;
  2. $reg_per_page = 3;
  3. $inicio = ($pag - 1) * $reg_per_page;

Con esto, tendrás en $inicio el índice del primer item que tienes que leer del array. De aquí contando $reg_per_page serán los items que tienes que mostrar en cada página.

Luego, sólo tienes que añadir una lista de números de página al final del todo, que cada uno te envíe a la ruta correspondiente, teniendo en cuenta que tienes que añadir al URL el trozo de ?pag=1

Espero que te aclare, un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: mysql, tipo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:14.