Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Cortar consulta BD por caracteres "row"

Estas en el tema de Cortar consulta BD por caracteres "row" en el foro de Bases de Datos General en Foros del Web. Hola... bueno antes de preguntar buscan mucho y de lo que encontre probe pero no puede, por lo que aqui estoy con una nueva duda. ...
  #1 (permalink)  
Antiguo 03/10/2009, 12:49
 
Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 4
Cortar consulta BD por caracteres "row"

Hola...

bueno antes de preguntar buscan mucho y de lo que encontre probe pero no puede, por lo que aqui estoy con una nueva duda.

Como cortar caracteres de una consulta "row" ya que el resultado es de 160 caracteres y quiero mostrar solo unos 20 primeros

aqui dejo el codigo para que me digan como hacerlo por favor:
[HTML<?php

include("config.php");
$result=mysql_db_query ($db, $query, $conectar);
$_pagi_sql = "SELECT * FROM TKCL ORDER BY id DESC";

$_pagi_cuantos = 10;
include("paginador.php");

while ($row = mysql_fetch_array ($_pagi_result))

{

echo "<tr>"
."<td class=tabla2>".$row['id']."</td>"
."<td class=tabla2>".$row['shortcode']."</td>"
."<td class=tabla2>".$row['keyword']."</td>"
."<td class=tabla2>".$row['message']."</td>" <--cortar en x caracteres

."</tr>";

}
mysql_close($conectar);
?>[/HTML]

por si de algo ayuda en us respuesta, esta con el paginator tambien.
  #2 (permalink)  
Antiguo 03/10/2009, 13:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cortar consulta BD por caracteres "row"

La mejor solución para eso sería poner el nombre de los campos en el SELECT con la función LEFT():
Código sql:
Ver original
  1. SELECT id, shortcode, keyword, LEFT(message, 20) message
  2. FROM TKCL
  3. ORDER BY id DESC
;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/10/2009, 14:08
 
Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 4
Respuesta: Cortar consulta BD por caracteres "row"

biennn, son secos como decimos aca en chile "seco" es como decir sos grandeee jajaja

lo ultimo sip... para que al termino yo le puede colocar al (...) o un (???) por ejemplo.

Original: 09-1234567
Cortado: 09-1234???
  #4 (permalink)  
Antiguo 03/10/2009, 14:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cortar consulta BD por caracteres "row"

Para eso tienes las funciones LPAD() y RPAD(), que rellenan un string con caracteres hacia la derecha o izquierda, según se precise (siempre tratando el tema en MySQL). En tu caso sería RPAD():


Código sql:
Ver original
  1. SELECT id, shortcode, keyword, RPAD(LEFT(message, 17), 20, '?') message
  2. FROM TKCL
  3. ORDER BY id DESC;
Esto hace que el contenido de message se corte a 17 caracteres, y luego que el resultado de eso sea rellenado con signos "?" hasta alcanzar los 20 caracteres de longitud.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 03/10/2009, 14:55
 
Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 4
Respuesta: Cortar consulta BD por caracteres "row"

gracias gnzsoloyo pero en este caso, cuando el campo tiene menos de 20 se llenaria mucho con ???????

mira, lo que quiero es, un campo entrega el numero de telefono pero noequi que recortar al inicio y al final

EJ original: 091234567
Ej recortado: ??1234???

se puede eso?
  #6 (permalink)  
Antiguo 03/10/2009, 15:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cortar consulta BD por caracteres "row"

Consulta las funciones de cadena de MySQL.
El caos que quieres se puede resolver con CONCAT() o bien con CONCAT() y REPEAT(), por ejemplo.

Código SQL:
Ver original
  1. SELECT id, shortcode, keyword, CONCAT('??', LEFT(message, 20), '???') message
  2. FROM TKCL
  3. ORDER BY id DESC;

Investiga un poco y prueba las funciones que necesites.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 07:08.