Foros del Web » Programando para Internet » PHP »

mostrar parte del post debajo del titulo

Estas en el tema de mostrar parte del post debajo del titulo en el foro de PHP en Foros del Web. se trata de un sistema de noticias, al crear un nuevo post queda en la tabla algo parecido a esto: ----------------------- TITULO DEL POST [Continuar ...
  #1 (permalink)  
Antiguo 14/11/2012, 01:26
 
Fecha de Ingreso: noviembre-2012
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
Pregunta mostrar parte del post debajo del titulo

se trata de un sistema de noticias, al crear un nuevo post queda en la tabla algo
parecido a esto:
-----------------------
TITULO DEL POST
[Continuar leyendo]
-----------------------

y busco darle una aparienci como el de abajo:


resumiendo la idea quiero lograr algo así:
-----------------------
TITULO DEL POST
acá se muestra parte del contenido
del post e[..]
[Continuar leyendo]
-----------------------

expongo mis ideas en codigo ya que creo que nos vamos a entender mejor en este idioma :P
Código:
$sql = "SELECT * FROM foro WHERE foro = '".$foro."' ORDER BY id DESC";
$sql2 = "SELECT * FROM foro WHERE id = '".$id."' ORDER BY id DESC"; /* CONSULTA 2 BUSCA POR ID (muestra el contenido del post al clickar [Continuar leyendo] */

$res=mysql_query($sql,$db);
$res2=mysql_query($sql2,$db); /* CONTIENE LA CONSULTA 2*/	

while ($row=mysql_fetch_array($res)){
$rows = 1;
/* aqui debajo iria la tabla donde se muestran los titulos */
<? echo $row["titulodelpost"]; ?><a href="?id=<? echo $row["id"]; ?>"> [Continuar leyendo]</a>

while ($row=mysql_fetch_array($res2)){
$rows = 1;
/* aqui debajo muestra el contenido del post [Continuar leyendo] */
<? echo $row["contenidodelpost"]; ?>
si es con una tercera consulta como deberia ser esta para que me muestre parte del post hasta un limite de caracteres y luego se corte con un " [..] " ?

gracias
  #2 (permalink)  
Antiguo 14/11/2012, 02:53
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 5 meses
Puntos: 14
Respuesta: mostrar parte del post debajo del titulo

A mi se me ocurre enviar una variable en la URL para decir si quiere el post completo o solo una parte.
Pero vamos por partes:
-Para sacar solo una parte del post creo que puedes utilizar la función substr de php.
-En "Seguir leyendo" pones un link a la misma página, pero definiendo una variable para que muestre el post completo por ejemplo la variable completo.
Si la variable completo contiene un 0(o no existe) muestras una parte y el continuar leyendo, si tiene un 1 muestras el post completo.

Si necesitas que te lo escriba en código dímelo
  #3 (permalink)  
Antiguo 14/11/2012, 03:04
 
Fecha de Ingreso: noviembre-2012
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
Respuesta: mostrar parte del post debajo del titulo

Cita:
Iniciado por javierflti Ver Mensaje
A mi se me ocurre enviar una variable en la URL para decir si quiere el post completo o solo una parte.
Pero vamos por partes:
-Para sacar solo una parte del post creo que puedes utilizar la función substr de php.
-En "Seguir leyendo" pones un link a la misma página, pero definiendo una variable para que muestre el post completo por ejemplo la variable completo.
Si la variable completo contiene un 0(o no existe) muestras una parte y el continuar leyendo, si tiene un 1 muestras el post completo.

Si necesitas que te lo escriba en código dímelo
para el link de leer mas ya lo tengo solucionado ya que separo las consultas del titulo y del contenido creandose el link de [leer mas] automaticamente utitlizando el id del post. (de seguro existen muchas maneras de obtener el mismo resultado pero aun no las conozco XD)

gracias por tu respuesta, si por favor si me escribes un ejemplo en codigo fuente podré entenderlo mejor
  #4 (permalink)  
Antiguo 14/11/2012, 05:13
 
Fecha de Ingreso: junio-2011
Ubicación: Asturias
Mensajes: 228
Antigüedad: 13 años, 5 meses
Puntos: 14
Respuesta: mostrar parte del post debajo del titulo

[PHP]
Código PHP:
if(isset($_GET['completo']))
{
$completo=$_GET['completo'];
}
else
{
$completo=0;
}
$sql = "SELECT * FROM foro WHERE foro = '".$foro."' ORDER BY id DESC";
$sql2 = "SELECT * FROM foro WHERE id = '".$id."' ORDER BY id DESC"; 
/* Si las dos consultas las usas para sacar el post, utiliza solo una con el id por ejemplo */

$res=mysql_query($sql,$db);
$res2=mysql_query($sql2,$db); /* CONTIENE LA CONSULTA 2*/    

if($completo=0)
{
while ($row=mysql_fetch_array($res)){
$rows = 1;

while ($row=mysql_fetch_array($res)){
$rows = 1;
/* Este bucle va a mostrar el título, las 20 primeras letras del contenido del post y el enlace a seguir leyendo */
<? echo $row["titulodelpost"]; ?>
<? 
echo substr($row["contenidodelpost"],0,20?>
<? 
echo $row["titulodelpost"]; ?><a href="?completo=1&id=<? echo $row["id"]; ?>"> [Continuar leyendo]</a>
}
}
else
{
while ($row=mysql_fetch_array($res)){
/* Este bucle va a mostrar el título, y el post completo */
$rows = 1;
<? echo $row["titulodelpost"]; ?>
<? 
echo $row["contenidodelpost"];?>
}
Aunque no he entendido muy bien tus consultas, creo que con esto más o menos basta.

Si está la variable "completo" en la URL la guarda en una variable(valor 1) y si no está(cuando solo va a ver parte del post) guarda en una variable el valor 0.

Si variable tiene un 0 es que solo tiene que mostrar una parte del post, por lo tanto muestra el título, 20 letras del post y el enlace para seguir leyendo(que si te fijas ahora incluye la variable completo=1).

Si la variable tiene un 1 (cuando han pulsado en el enlace de seguir leyendo), entonces solo muestra el título y el post completo.

Ahora queda en tu mano corregir bien el código para amoldarlo a lo que tienes y distribuir el título y el contenido en tablas, divs o lo que sea.

Un saludo

Etiquetas: postear
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 09:19.