Foros del Web » Programando para Internet » PHP »

Limitar caracteres de una consulta

Estas en el tema de Limitar caracteres de una consulta en el foro de PHP en Foros del Web. Buenas, estoy buscando simplemente limitar los carecteres, lo estuve buscando por el foro pero no me funciono ninguna o no lo supe implementar bien... @import ...
  #1 (permalink)  
Antiguo 03/02/2012, 23:16
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 13 años, 11 meses
Puntos: 0
Limitar caracteres de una consulta

Buenas, estoy buscando simplemente limitar los carecteres, lo estuve buscando por el foro pero no me funciono ninguna o no lo supe implementar bien...

Código PHP:
Ver original
  1. <?php
  2.            include ("include/config.php");
  3.            $db = mysql_connect($dbhost,$dbusername,$dbpass);
  4.            mysql_select_db($dbname) or die($dberror);
  5.            @mysql_query("SET NAMES 'utf8'"); // para el error molesto de los acentos y las ñ
  6.            $query = "SELECT * FROM noticias WHERE publicada = 1 ORDER BY id DESC LIMIT 1;";
  7.            $result = mysql_query($query);
  8.            echo "<div id='ultimas_noticias_tabla'><table cellSpacing='0' cellPadding='0' width='260' height='50' border='0'>";
  9.            while ($r = mysql_fetch_array($result)) {
  10.            echo "<tr><td class='titulo_ultimas_noticias'><strong>" . $r['titulo'] . "</strong></td></tr>";
  11.            echo "<tr><td class='fecha_ultimas_noticias'>" . $r['fecha'] . "</td>";
  12.            echo "<tr><td class='contenido_ultimas_noticias' width=>" . $r['contenido'] . "<a href='noticias.php' alt='mas'>... [+]</a></td></tr>";
  13.            }
  14.            ?>

Quiero limitar la parte de contenido... Muchas gracias.
  #2 (permalink)  
Antiguo 04/02/2012, 02:01
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Limitar caracteres de una consulta

http://www.php.net/manual/es/function.substr.php
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 04/02/2012, 10:22
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Limitar caracteres de una consulta

Ya había visto esa función pero no puedo implementarla bien jajaja, si me ayudarías te agradecería mucho. Soy medio nuevo en php : P
  #4 (permalink)  
Antiguo 04/02/2012, 11:53
 
Fecha de Ingreso: octubre-2004
Ubicación: Barcelona
Mensajes: 195
Antigüedad: 19 años, 6 meses
Puntos: 7
Respuesta: Limitar caracteres de una consulta

Cita:
Iniciado por kenyis01 Ver Mensaje
Ya había visto esa función pero no puedo implementarla bien jajaja, si me ayudarías te agradecería mucho. Soy medio nuevo en php : P
Serás medio nuevo en PHP, pero si no concretas mejor que quiere decir "no puedo implementarla bien", nadie te va a poder ayudar ¿Lo que quieres es limitar un número de caractéres, de palabras, de párrafos? ¿Qué errores, o problemas, te dió tu intento de implementación?
  #5 (permalink)  
Antiguo 04/02/2012, 12:06
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Limitar caracteres de una consulta

Muéstranos cómo lo hiciste que no la "implementaste bien".
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #6 (permalink)  
Antiguo 04/02/2012, 13:16
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Limitar caracteres de una consulta

Código PHP:
Ver original
  1. <?php
  2.            include ("include/config.php");
  3.            $db = mysql_connect($dbhost,$dbusername,$dbpass);
  4.            mysql_select_db($dbname) or die($dberror);
  5.            @mysql_query("SET NAMES 'utf8'"); // para el error molesto de los acentos y las ñ
  6.            $query = "SELECT * FROM noticias WHERE publicada = 1 ORDER BY id DESC LIMIT 1;";
  7.                    $rest = substr("contenido", 0, -70);
  8.            $result = mysql_query($query);
  9.            echo "<div id='ultimas_noticias_tabla'><table cellSpacing='0' cellPadding='0' width='260' height='50' border='0'>";
  10.            while ($r = mysql_fetch_array($result)) {
  11.            echo "<tr><td class='titulo_ultimas_noticias'><strong>" . $r['titulo'] . "</strong></td></tr>";
  12.            echo "<tr><td class='fecha_ultimas_noticias'>" . $r['fecha'] . "</td>";
  13.            echo "<tr><td class='contenido_ultimas_noticias' width=>" . $rest . "<a href='noticias.php' alt='mas'>... [+]</a></td></tr>";
  14.            }
  15.            ?>

Lo implemente así, pero supongo que esta mal por que no me devuelve el contenido ahora...
  #7 (permalink)  
Antiguo 04/02/2012, 13:47
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Limitar caracteres de una consulta

1- Substr debe ir dentro del while, debe aplicarse al contenido.
2- Substr debe aplicarse al contenido, es decir, la variable que contiene el contenido
3- Deseas limitar los caracteres del inicio a 70 caracteres, no al revés. Ese -70 no debe ser negativo

Saludos
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #8 (permalink)  
Antiguo 04/02/2012, 17:46
 
Fecha de Ingreso: mayo-2010
Mensajes: 53
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Limitar caracteres de una consulta

Perfecto, ahí me salio, lo dejo por si alguno tiene el mismo problema:

Código PHP:
Ver original
  1. <?php
  2.            include ("include/config.php");
  3.            $db = mysql_connect($dbhost,$dbusername,$dbpass);
  4.            mysql_select_db($dbname) or die($dberror);
  5.            @mysql_query("SET NAMES 'utf8'"); // para el error molesto de los acentos y las ñ
  6.            $query = "SELECT * FROM noticias WHERE publicada = 1 ORDER BY id DESC LIMIT 1;";
  7.            $result = mysql_query($query);
  8.            echo "<div id='ultimas_noticias_tabla'><table cellSpacing='0' cellPadding='0' width='260' height='50' border='0'>";
  9.            while ($r = mysql_fetch_array($result)) {
  10.            $limitar = substr($r['contenido'],0,215); // limitar los caracteres de la consulta
  11.            echo "<tr><td class='titulo_ultimas_noticias'><strong>" . $r['titulo'] . "</strong></td></tr>";
  12.            echo "<tr><td class='fecha_ultimas_noticias'>" . $r['fecha'] . "</td>";
  13.            echo "<tr><td class='contenido_ultimas_noticias' width=>" . $limitar . "... <a href='noticias.php' alt='mas'>[+]</a></td></tr>";
  14.            }
  15.            ?>
  #9 (permalink)  
Antiguo 04/02/2012, 18:29
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Limitar caracteres de una consulta

Hola también puedes hacer la limitación desde tu consulta MySQL, con el comando LEFT. Lo único que debes enumerar los campos que quieres como resultado en vez de usar *, ya dicho sea de paso que usar * no es una muy buena practica.

La consulta MySQL
Código MySQL:
Ver original
  1. SELECT id_noticia, titulo, LEFT(desarrollo, 500) as desarrollo FROM noticias WHERE .....

Bueno esa es mas o menos la Idea, espero que te sea de ayuda.

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp

Etiquetas: caracteres, limitar, mysql, tabla
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 10:23.