Foros del Web » Programando para Internet » PHP »

Ayuda Con (Leer Mas...) Para mi web con php

Estas en el tema de Ayuda Con (Leer Mas...) Para mi web con php en el foro de PHP en Foros del Web. Hola Amigos pues creo que este tema se ha tratado en esta web anteriormente, pero ninguno de los que he visto o probado me ha ...
  #1 (permalink)  
Antiguo 27/07/2010, 11:28
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Ayuda Con (Leer Mas...) Para mi web con php

Hola Amigos pues creo que este tema se ha tratado en esta web anteriormente, pero ninguno de los que he visto o probado me ha servido, ya que se encuentran en JS y esta muy bien, pero lo que yo quiero Es:

Que al llegar a 400 Caracteres en la pagina donde muestro los temas En el campo $DESCRIPCION me aparesca la opcion (Leer Mas...) Si es mayor que 400 Caracteres, es decir con un if, y que al dar click en ese (Leer Mas...) me envie a otra pagina donde me muestre el tema con la descripcion completa...
Les agradeceria si me ayudan con un codigo y me expliquen bien por favor es que soy un poco novato...

Espero puedan ayudarme.

Gracias de Antemano!
  #2 (permalink)  
Antiguo 27/07/2010, 11:33
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

Primero para mostrar una parte de un string puedes hacerlo de varias formas, una es con echo substr($string,0,400);

Para saber la longitud de una cadena usas strlen($string), asi que bueno, con eso ya puedes preguntar, y mostrar primero una parte y con el enlace pues ya muestras todo.
  #3 (permalink)  
Antiguo 27/07/2010, 11:36
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

pruebe con esto "Es solo un ejemplo para que se guie".

Código PHP:
$var strlen($noticia);
if (
$var 400)
{
echo 
substr($noticia0400);
echo 
"Link leer mas que supongo ya sabe como hacerlo - si no sabe me avisa";
}
else
echo 
$noticia 
EDITO se me adelantaron
  #4 (permalink)  
Antiguo 27/07/2010, 11:46
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

Ok Amigo si no me equivoco Seria asi:
Código PHP:
$noticia $datos['DESCRIPCION']; /*Esta Varible la Coloque para ajustar a mi necesidad el Codigo */
$var strlen($noticia);
if (
$var 400)
{
echo 
substr($noticia0400);
echo 
'...&nbsp;&nbsp;&nbsp;<a class="link" href="?id='.$ID.'">(Leer Mas...)</a>'/*Link (leer mas...) */
}
else
echo 
$noticia 
Edito: '...&nbsp;&nbsp;&nbsp;<a class="link" href="?id='.$ID.'">(Leer Mas...)</a>';

¿Donde $ID seria el id del tema no? ¿es decir el numero? */
  #5 (permalink)  
Antiguo 27/07/2010, 11:51
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

Sip mas o menos le deberia quedar asi obiamente tendria que ordenarla en una tablita o algo por el estilo.

En la pagina destino recibo por get el ID enviado, realiza la consulta de la noticia y la muestra. recuerde que en el h ref antes del ? debe ir el nombre de la pagina que va a mostrar la noticia completa.

Saludos
  #6 (permalink)  
Antiguo 27/07/2010, 12:14
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

ok amigo entonces hare la pagina que recibira el codigo, si me funciona te lo paso por aqui, gracias por tu ayuda, y si no me funciona sigo preguntando...

Gracias...
  #7 (permalink)  
Antiguo 27/07/2010, 13:10
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

Amigo una ayudita aqui estoy trayendo bien el codigo a donde quiero mostrar el leer mas...?

Código PHP:
<?php
//mostramos los datos traidos

if(isset($_GET['ID'])) {

    
// informacion de mi server
    
$conexion=mysql_connect("lxx","xxx","xx") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("XXXX") or die ("no se ha podido seleccionar la BD");

    
$sql "SELECT IMAGEN,NOMBRE,DESCRIPCION,USERNAME,FECHA,HORA FROM programas WHERE ID='".$_GET['ID']."'";

    
$consulta mysql_query($sql,$conexion);

    
$IMAGEN mysql_result($consulta,0,"IMAGEN");
    
$NOMBRE mysql_result($consulta,0,"NOMBRE");
    
$DESCRIPCION mysql_result($consulta,0,"DESCRIPCION");
    
$USERNAME mysql_result($consulta,0,"USERNAME");
    
$FECHA mysql_result($consulta,0,"FECHA");
    
$HORA mysql_result($consulta,0,"HORA");

echo 
$nombre
  


?>
No me quiere mostrar el nombre amigo por que?

Última edición por XtremeBook; 28/07/2010 a las 15:07
  #8 (permalink)  
Antiguo 27/07/2010, 13:51
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

$nombre no es igual a $NOMBRE en php, recuerdalo!
  #9 (permalink)  
Antiguo 27/07/2010, 13:57
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

Si amigo tienes razon disculpa lo que pasa es que escribi apurado pero yo ya lo tengo en mayusculas bro alguna otra sugerencia de po rque no me muestra los nombre hermano?

asi esta:
Código PHP:
<?php echo $NOMBRE?>
  #10 (permalink)  
Antiguo 27/07/2010, 14:02
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

Brooo muy bien ya me aparece pero hay un problema hermano, mira tu sabes que yo estoy mostrando mis temas de manera descendiente por id.

asi

echo $ID;

y perfecto se me ve la id de cada tema, por ejemplo photoshop es el 90 el adobe flash 91 y asi, pero en el link de Leer Mas... de cada tema me muestra En todos los leer mas la URL ASI con el mismo 91:
Código PHP:
http://localhost:8000/xtreme%20book/respaldo/leer_mas.php?ID=91 
que es el mayor ID y en todos me aparece la misma descripcion teniendo diferentes cada tema.

asi sea diferente la id en el echo bien me aparecen distintas pero en el link leer mas... en todos me muestra 91 y todos con la misma descripcion teniendo todas diferentes...
sabes por que?

el problema esta aqui:
Código PHP:
while($datos $paging->fetchResultado()) { 

$descripcion $datos['DESCRIPCION']; 
cuando pongo

Código PHP:
echo  $datos['DESCRIPCION']; 
muestro bien cada descripcion diferente pero no se me ve el leer mas...

y cuando pongo

Código PHP:
 echo $descripcion_corta 
se me ve el leer mas pero con el error que ya dije anteriormente del link!

este es el codigo de mi leer mas

Código PHP:
<?
$ID 
$datos['ID'];
$descripcion $datos['DESCRIPCION'];
if(
strlen($descripcion) > 400){
  
$descripcion_corta substr($descripcion0400);
  
$descripcion_corta wordwrap($descripcion_corta,200,"<br>",1);
  
$descripcion_corta .= '...&nbsp;&nbsp;&nbsp;<a class="link" href="leer_mas.php?ID='.$ID.'"><b>(Leer Mas...) </a>';
}
?>

Última edición por XtremeBook; 27/07/2010 a las 14:45
  #11 (permalink)  
Antiguo 27/07/2010, 14:43
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

Tendria que leer el codigo correcto en donde le carga los titulares para ver que esta pasando, pero lo que veo es que usted no esta generando el link en el ciclo while que recorre las noticias par aque cada vez que entre al while el id del link tome el valor del anoticia actual..


espero me haya hecho entender, o coloque me el codigo y apenas pueda yo le ayudo arevisar que esta pasando.

Suerte
  #12 (permalink)  
Antiguo 27/07/2010, 15:06
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

Prueba asi:

Código PHP:
<?php
//mostramos los datos traidos

if(isset($_GET['ID'])) {

    
// informacion de mi server
    
$conexion=mysql_connect("lxx","xxx","xx") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("xtremebook") or die ("no se ha podido seleccionar la BD");

    
$sql "SELECT IMAGEN,NOMBRE,DESCRIPCION,USERNAME,FECHA,HORA FROM programas WHERE ID='".$_GET['ID']."'";

    
$consulta mysql_query($sql,$conexion);
$row=mysql_fetch_array($consulta);
echo 
$row["NOMBRE"];

?>
  #13 (permalink)  
Antiguo 27/07/2010, 23:07
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Ayuda con con este codigo Porfavor es URGENTE!!!

Amigos tengo un problema que es el siguiente:

tengo un codigo Con el (Leer Mas...) En mi web que funciona bien pero tengo el siguiente problema:

Cuando muestro los temas en mi web, hay varios temas Que se ven perfectos, el leer mas dirige a la ID correcta y muestra la descripcion correcta. Todo bien hasta ahora.

PERO

Hay temas que son distintos con diferentes ID Y diferentes descripciones Y muestran la misma descripcion Y el mismo ID En el link (Leer Mas...) los dos, no entiendo por que Pero solo Pasa con algunos temas, no son todos.

Aqui les dejo el codigo para ustedes amigos que tienen Ojo Clinico Me Ayuden a mi que soy novato:


Código PHP:
<?php
session_start
();
?>
<?php
if (isset($_SESSION['MM_Username'])) {
}else{
echo
'<SCRIPT LANGUAGE="javascript">
location.href = "error.php";
</SCRIPT>'
;
}
?>
<?php
function getURL($miUrl){
$temp explode("[/URL]",$miUrl);
$temp2 explode("[noparse][URL]",$temp[0]);
$miUrl str_replace("[URL]",'<a href="',$miUrl);
$miUrl str_replace("[/URL][/noparse]",'" target="_blank">'.$temp2[1].'</a>',$miUrl);
return 
$miUrl
}
?>

<!-- session_start(); Para Mostrar los usuarios online y de mas -->



<?php 
//Conectamos a la Base de datos
require_once('Connections/xtremebook.php'); 
if (!
function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
if (
PHP_VERSION 6) {
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch (
$theType) {
case 
"text":
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
break; 
case 
"long":
case 
"int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case 
"double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case 
"date":
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
break;
case 
"defined":
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
break;
}
return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

//seleccionamos la BD

mysql_select_db($database_xtreme_book$xtremebook);
$query_Recordset1 "SELECT IMAGEN,NOMBRE,DESCRIPCION,USERNAME,LINKS,FECHA,HOR A FROM programas";
$Recordset1 mysql_query($query_Recordset1$xtremebook) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);

$maxRows_tabla_alumnos 10;
$pageNum_tabla_alumnos 0;
if (isset(
$_GET['pageNum_tabla_alumnos'])) {
$pageNum_tabla_alumnos $_GET['pageNum_tabla_alumnos'];
}
$startRow_tabla_alumnos $pageNum_tabla_alumnos $maxRows_tabla_alumnos;

mysql_select_db($database_xtreme_book$xtremebook);
$query_tabla_alumnos "SELECT IMAGEN,NOMBRE,DESCRIPCION,USERNAME,LINKS,FECHA,HOR A FROM programas";
$query_limit_tabla_alumnos sprintf("%s LIMIT %d, %d"$query_tabla_alumnos$startRow_tabla_alumnos$maxRows_tabla_alumnos);
$tabla_alumnos mysql_query($query_limit_tabla_alumnos$xtremebook) or die(mysql_error());
$row_tabla_alumnos mysql_fetch_assoc($tabla_alumnos);

if (isset(
$_GET['totalRows_tabla_alumnos'])) {
$totalRows_tabla_alumnos $_GET['totalRows_tabla_alumnos'];
} else {
$all_tabla_alumnos mysql_query($query_tabla_alumnos);
$totalRows_tabla_alumnos mysql_num_rows($all_tabla_alumnos);
}
$totalPages_tabla_alumnos ceil($totalRows_tabla_alumnos/$maxRows_tabla_alumnos)-1;
?>



<? 
//mostramos el nombre de usuarios y usuarios registrados...

include('login.php');
echo 
"<font color='#33CCFF'><span class='Estilo2'>".$_SESSION['MM_Username'];
?></span>
<br />
</li>
<li><span class="Estilo2"><font color="#FFFFFF">Ultimo usuario<br />
registrado:</span></li>
<font color="#33CCFF"><b>
<?php
$query 
"SELECT * FROM registro ORDER BY ID DESC LIMIT 1";
$res mysql_query($query) or die(mysql_error());
if(
mysql_num_rows($res) == 1) {
list(
$NOMBRE$APELLIDO$NOMBREUSUARIO$CONTRASE&#209;A, $EMAIL, $ID) = mysql_fetch_row($res);
}
echo 
"<span class='Estilo2'>$NOMBREUSUARIO";
?>
</span>
</b></font> </a>
<br />
<span class="Estilo2"><font color="#FFFFFF"><li>Usuarios <br />Registrados:<br />
</li>
</span>

<?php
$total 
mysql_query("SELECT COUNT(*) FROM registro");
$row mysql_fetch_row($total);
$totalusuarios $row[0];
mysql_close();

echo 
"<font color='#33CCFF'>$totalusuarios";

?> 




<!-- Termina la columna derecha Y Comienza la principal -->

<?php
//PAGINAMOS

require_once 'PHPPaging2.lib.php';

$paging = new PHPPaging


// Abrimos la conexión al servidor MySQL
$link mysql_connect("xxx","xxx","xxx");
mysql_select_db("xxx"$link);

// Instanciamos, indicando el recurso de conexión
$paging = new PHPPaging($link);


$q "SELECT * FROM programas ORDER BY id DESC";

// Y se usa la función agregarConsulta() (Ver documentación)
$paging->agregarConsulta($q); 

$paging->ejecutar();
?>


<div class="principal">
<img src="images/contenido.jpg" width="555" height="60"/>
<h3> <b><center><?php
//Una cadena conteniendo el codigo HTML de la barra de 
//navagación es generada y guardada en la variable $links.
$links $paging->fetchNavegacion();

echo 
$links;
?></h3></b></center>
<table align="center" width="520" bordercolor="#FFFFFF" border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse">
<!-- ESTAMOS MOSTRANDO EL TEMA -->

</tr>
<?php do { ?>

<?php
while($datos $paging->fetchResultado()) { 


?>
<tr bgcolor="#33CCFF" class="Titulos_formularios">
<td align="center"><font color="white"><b><font size="3"><?php echo $datos['NOMBRE']; ?></b></font></td>

<tr align="center">
<td><br />

<div align="left"><font color="#33CCFF">Publicado Por Administrador: <b><font color="#FFFFFF"><?php echo $datos['USERNAME']; ?></font></b><br />

<font color="#33CCFF">Fecha:</font> <b><font color="#FFFFFF"><?php echo $datos['FECHA']; ?> a las <?php echo $datos['HORA'];?> <br />

</B><font color="#33CCFF">Tema Nº:</font> <B><font color="#FFFFFF"><?php echo $datos['ID']; ?>
</font></b></div>
<font color="#33CCFF"><br /><?php echo "<img src='".$datos['IMAGEN']."'/>"?>

<br />

<center><img src="images/Descripcion.jpg" /></center>

<br />
<?
$ID 
$datos['ID'];
$noticia $datos['DESCRIPCION']; /*Esta Varible la Coloque para ajustar a mi necesidad el Codigo */
$var strlen($noticia);
if (
$var 400)
{
$mostrar substr($noticia0400);
$mostrar .= '...&nbsp;&nbsp;&nbsp;<a class="link" href="leer_masprogramas.php?ID='.$ID.'"><b>(Leer Mas...)</b></a>'/*Link (leer mas...) */
}
else
?> 

<?php
// Funcion para mostrar loslinks

?>

<font color="white"> <?php $miUrl $mostrar;echo nl2br(getURL($miUrl)); ?></font><br /><br /><br />

<br />
<center><img src="images/descargar.jpg" /></center>
<?php 

$miUrl 
$datos['LINKS']; 

echo 
nl2br(getURL($miUrl));

?>
<br /><br /><br />    

</td>

</tr>
<?php }}while ($row_tabla_alumnos mysql_fetch_assoc($tabla_alumnos)); ?></table>
<h3> <b><center><?php
//Una cadena conteniendo el codigo HTML de la barra de 
//navagación es generada y guardada en la variable $links.
$links $paging->fetchNavegacion();

echo 
$links;
?></h3></b></center>
<img src="images/final.jpg" /></div>
<div class="footer"><img src="images/acabado.jpg" width="950" /></div>

<!-- FIN DE LA COLUMNA Y DE INDEX.PHP -->
</body>
</html>

El error lo pueden ver aqui

WwW.XtremeBook.Ve.Vg
Entren con esta cuenta para que no tengan que registrarse:
Usuario: Cuenta
Contraseña: 12345

Y entran aqui
http://xtremebook.hostoi.com/mas_programas.php

los ultimos dos temas de esta pagina demuestran el error al igual que en estas tambien miren los ultimos dos temas de esas paginas:

http://xtremebook.hostoi.com/mas_programas.php?page=3
http://xtremebook.hostoi.com/mas_programas.php?page=7

observen que al pararce sobre leer Mas... Les aparece en los ultimos dos temas la misma id al igual que la descripcion.

Ayuda amigos Se los agradeceria tengo mucho tiempo ya tratando de solucionar este problema...

Gracias De Antemano!

elimine bastante codigo html para que lo vean mejor!

Última edición por GatorV; 28/07/2010 a las 17:19
  #14 (permalink)  
Antiguo 28/07/2010, 01:53
Avatar de cotopaxi  
Fecha de Ingreso: noviembre-2009
Ubicación: Guadalajara, Jalisco
Mensajes: 20
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Ayuda con con este codigo Porfavor es URGENTE!!!

deberías de revisar tu ciclos tienes un do sin nada y un while sin cerrar o no sé si quisiste simplificar el código y se te fue algún detalle.
  #15 (permalink)  
Antiguo 28/07/2010, 07:57
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ayuda Con (Leer Mas...) Para mi web con php

ok amigo podrias decirme mas o menos en que lineas? ¿porfavor? Ya llevo mucho tiempo buscando ese error dime! y con respecto a simplificar amigo no no se me fue algun detalle!

edito:

cuando agrego este codigo asi:
Código PHP:
<?
<?
$ID $datos['ID'];
$noticia $datos['DESCRIPCION']; /*Esta Varible la Coloque para ajustar a mi necesidad el Codigo */
$var strlen($noticia);
if (
$var 400)
{
echo 
substr($noticia0,400);;
echo 
'...&nbsp;&nbsp;&nbsp;<a class="link" href="leer_masprogramas.php?ID='.$ID.'">(Leer Mas...)</a>'/*Link (leer mas...) */
}
else
?> 

<?php
// Funcion para mostrar loslinks

?>

            <font color="white"> <?php  $miUrl $noticia;echo nl2br(getURL($miUrl)); ?></font><br /><br /><br />
me muestra el leer mas de todos los temas bien pero el texto no llega hasta el leer mas, es decir pasan los 400 caracteres perfecto y aparece el leer mas pero vuelve a iniciar otra ves el tema desde el princio y lo muestra completo.

y si uso asi:
Código PHP:
<?
$ID 
$datos['ID'];
$noticia $datos['DESCRIPCION']; /*Esta Varible la Coloque para ajustar a mi necesidad el Codigo */
$var strlen($noticia);
if (
$var 400)
{
$mostrar substr($noticia0400);
$mostrar .= '...&nbsp;&nbsp;&nbsp;<a class="link" href="leer_mashack.php?ID='.$ID.'"><b>(Leer Mas...)</b></a>'/*Link (leer mas...) */
}
else
?> 

<?php
// Funcion para mostrar loslinks

?>

            <font color="white"> <?php  $miUrl $mostrar;echo nl2br(getURL($miUrl)); ?></font><br /><br /><br />
me muestra bien todo y llega hasta el leer mas bien. pero me sale el problema de que se repite las id en los links y la descripcion como ya mencione en mi problema!

Ayuda!

Última edición por XtremeBook; 28/07/2010 a las 12:30
  #16 (permalink)  
Antiguo 28/07/2010, 15:06
 
Fecha de Ingreso: julio-2010
Mensajes: 90
Antigüedad: 13 años, 9 meses
Puntos: 0
Resuelto

Eresuelto amigos el problema era un if

Etiquetas: mas
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 03:40.