Foros del Web » Programando para Internet » PHP »

Paginar entradas en blog

Estas en el tema de Paginar entradas en blog en el foro de PHP en Foros del Web. Hola, después de ayudarme con el upload de las imágenes me enfrento a otro "reto" para mí!. En el pequeño proyecto de clase que estoy ...
  #1 (permalink)  
Antiguo 21/02/2010, 07:40
 
Fecha de Ingreso: agosto-2009
Mensajes: 134
Antigüedad: 15 años, 3 meses
Puntos: 3
Paginar entradas en blog

Hola, después de ayudarme con el upload de las imágenes me enfrento a otro "reto" para mí!.

En el pequeño proyecto de clase que estoy realizando, deseo hacer un blog personal, en el que se mostrarán las entradas que iré subiendo a la BD.

El problema con el que me encuentro es el siguiente:

En dicho blog, quiero que en la página principal salga el TÍTULO de la entrada,la IMÁGEN, y el CONTENIDO de la entrada.

Conforme lo tengo ahora, muestra todo el contendio de la entrada,pero me gustaria que sólo mostrara unas dos o tres líneas del comentario y que al pulsar en un hipotético enlace LEER MÁS me lleve a otra página dónde muestre toda la entrada completa, no se si me explico.

Alguién puede guiarme?
  #2 (permalink)  
Antiguo 21/02/2010, 09:06
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: Paginar entradas en blog

Eso no es paginacion, en todo caso es "recorte de texto"...

Código PHP:
<?php
# Conexion a la base y demas

$q mysql_query("SELECT * FROM notas;");

while(
$res mysql_fetch_array($q)){

    echo 
$res['titulo'];
    echo 
$res['imagen'];
    
$recorte substr($res['nota'],0,150); // 150 caracteres
    
echo $recorte.'...';
    echo 
"<a href='leermas.php?id_nota=".$res['id_nota']."'>Leer mas</a>";
}
?>
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 21/02/2010, 09:18
 
Fecha de Ingreso: agosto-2009
Mensajes: 134
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Paginar entradas en blog

Sí, la verdad es que no sabía con exactitud como llamarlo
Voy a ver el código que me has escrtio, gracias!!!!!

Última edición por dpbataller; 21/02/2010 a las 09:41
  #4 (permalink)  
Antiguo 21/02/2010, 09:42
 
Fecha de Ingreso: agosto-2009
Mensajes: 134
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Paginar entradas en blog

Estupendo! funciona perfecto, pero tengo una duda en la parte final del código que me has escrito, en concreto esto

Código PHP:
Ver original
  1. <?php
  2. # Conexion a la base y demas
  3.  
  4.     echo "<a href='leermas.php?id_nota=".$res['id_nota']."'>Leer mas</a>";
  5.  
  6. ?>
  #5 (permalink)  
Antiguo 21/02/2010, 09:46
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: Paginar entradas en blog

Y la duda ess????????
No le veo complicacion... Haces otro php que se llame "leermas.php" y recibis con metodo get, el id de nota que le pasaste al hacer click en el vincuo de "leer mas"... Conectas a la base, y traes la nota entera, nada mas...
__________________
HV Studio
Diseño y desarrollo web
  #6 (permalink)  
Antiguo 21/02/2010, 10:08
 
Fecha de Ingreso: agosto-2009
Mensajes: 134
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Paginar entradas en blog

Perdona mi pequeña ignorancia, pero intentando adecuar tu código al mio, salta un error en la fila donde está la etiqueta IMG, dice lo siguiente (Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\proyecto\index.php on line 51), este es mi código, ves algún error?


Código PHP:
Ver original
  1. <?php
  2.                                                 $conexion=mysql_connect("localhost","root","pedrosa") or die ("Error al conectar con la BD");
  3.                                                 $db=mysql_select_db("blog",$conexion) or die ("Error al conectar con tu Base de datos");
  4.                                                 $q = mysql_query("SELECT titulo,foto,comentario,fecha_creacion FROM entrada ");
  5.                                                
  6.  
  7.                                            
  8.                                                    
  9.                                                     while($res = mysql_fetch_array($q)){
  10.                                                        
  11.                                                             echo "<table border='0'>";
  12.                                                                             echo "<tr>";
  13.                                                                                 echo "<td>";
  14.                                                                                     echo $res['titulo'];
  15.                                                                                 echo "</td>";
  16.                                                                                 echo "<td>";
  17.                                                                                     echo $res['fecha'];
  18.                                                                                 echo "</td>";
  19.                                                                             echo "</tr>";
  20.                                                                             echo "<tr>";
  21.                                                                                 echo "<td>";
  22.                                                                                     echo "<img src=$res['foto']>";
  23.                                                                                 echo "</td>";
  24.                                                                             echo "</tr>";
  25.                                                                             echo "<tr>";
  26.                                                                                 echo "<td>";
  27.                                                                                     $recorte = substr($res['comentario'],0,150);
  28.                                                                                     echo $recorte.'...';
  29.                                                                                     echo "<a href='leermas.php?id_entrada=".$res['id_entrada']."'>Leer mas</a>";
  30.                                                                                 echo "</td>";
  31.                                                                             echo "</tr>";
  32.                                                
  33.                                                                 echo "</table>";
  34.                                             }
  35.                                            
  36.                                            
  37.                                            
  38.                                     ?>
  #7 (permalink)  
Antiguo 21/02/2010, 10:40
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Paginar entradas en blog

Intenta ponerlo así:
Código PHP:
Ver original
  1. echo "<img src='".$res['foto']."'>";
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #8 (permalink)  
Antiguo 21/02/2010, 10:54
 
Fecha de Ingreso: agosto-2009
Mensajes: 134
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Paginar entradas en blog

Estupendo, funciona! error de sintaxis..
Una vez solucionado el tema de la imágen, me surge el siguiente problema, al crear la pagina leermas.php para recibir el id_entrada pasado en el enlace de index.php para poder leer la entrada completa me sale el siguiente error

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\proyecto\leermas.php on line 21


Ese error lo da en la linea del while...
Éste el codigo

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. </head>
  7.  
  8. <body>
  9.  
  10.     <?php
  11.        
  12.        
  13.         $entrada = $_GET['id_entrada'];
  14.         $conexion=mysql_connect("localhost","root","pedrosa") or die ("Error al conectar con la BD");
  15.         $db=mysql_select_db("blog",$conexion) or die ("Error al conectar con tu Base de datos");
  16.         $q = mysql_query("SELECT titulo,foto,comentario,fecha_creacion
  17.                                  FROM entrada
  18.                                  WHERE id_entrada = $entrada "
  19.                         );
  20.                                                
  21.         while($res = mysql_fetch_array($q)){
  22.  
  23.                     echo "<table border='0'>";
  24.                             echo "<tr>";
  25.                                 echo "<td>";
  26.                                         echo $res['titulo'];
  27.                                 echo "</td>";
  28.                             echo "<td>";
  29.                                         echo $res['fecha'];
  30.                             echo "</td>";
  31.                             echo "</tr>";
  32.                            
  33.                             echo "<tr>";
  34.                                 echo "<td>";
  35.                                         echo "<img src='".$res['foto']."'>";
  36.                                 echo "</td>";
  37.                             echo "</tr>";
  38.                                         echo $res['comentario'];
  39.                             echo "<tr>";
  40.                                 echo "<td>";
  41.                                    
  42.                                 echo "</td>";
  43.                             echo "</tr>";                  
  44.                     echo "</table>";
  45.         }                                      
  46.     ?>
  47.    
  48. </body>
  49. </html>

Consigues ver el error?, por que cuando refresca la página, no se pasa el id_entrada por GET, ya que en la barra de direccion web pone lo siguiente http://localhost/proyecto/leermas.php?id_entrada=
  #9 (permalink)  
Antiguo 21/02/2010, 11:06
 
Fecha de Ingreso: agosto-2009
Mensajes: 134
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Paginar entradas en blog

Solucionado! el problema estaba en la sentencia SELECT ya que no seleccionaba el id_entrada.

Es así:
Código PHP:
Ver original
  1. $q = mysql_query("SELECT id_entrada,titulo,foto,comentario,fecha_creacion FROM entrada ");


Gracias otra vez por el tiempo dedicado!
  #10 (permalink)  
Antiguo 21/02/2010, 11:14
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: Paginar entradas en blog

Código PHP:
Ver original
  1. $q = mysql_query("SELECT titulo, foto, comentario, fecha_creacion
  2.                                FROM entrada
  3.                                WHERE id_entrada = '$entrada';",
  4.                                $conexion);
__________________
HV Studio
Diseño y desarrollo web

Etiquetas: blog, entradas, paginar
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 12:11.