Foros del Web » Programando para Internet » PHP »

Mostrando primeros carcateres de un campo

Estas en el tema de Mostrando primeros carcateres de un campo en el foro de PHP en Foros del Web. Hola a Todos! quiero mostrar los primeros 100 caracteres de un campo. Estoy usando un codigo asi y creo un alias para el campo texto(titular). ...
  #1 (permalink)  
Antiguo 05/04/2003, 18:01
 
Fecha de Ingreso: julio-2001
Ubicación: Bogota
Mensajes: 87
Antigüedad: 16 años, 5 meses
Puntos: 0
Mostrando primeros carcateres de un campo

Hola a Todos!

quiero mostrar los primeros 100 caracteres de un campo. Estoy usando un codigo asi y creo un alias para el campo texto(titular).
tengo este codigo asi
Código PHP:
mysql_query("SELECT SUBSTRING(texto,0,99) as titular,titulo,fecha,id,foto,categoria FROM $tabla ORDER by id ASC LIMIT 0,4"); 
y luego cuando quiero imprimir el codigo le doy '.$row["titular"].' pero no me sale nada......
cuando quito las sentencia SUBSTRING(de arriba) me vota el texto completo, pero lo que quiero es solo los 100 primeros caracteres....he intentado de mil formas pero no me sale....si alguien sabe como hacerlo...estaria muy agradecido.
__________________
=============
JLC
  #2 (permalink)  
Antiguo 05/04/2003, 19:20
Avatar de Darksoft  
Fecha de Ingreso: mayo-2002
Mensajes: 106
Antigüedad: 15 años, 7 meses
Puntos: 0
Primeros caracteres de un string

Prueba de hacer la query sin el alias y en lugar de llamar a
$row["titular"], llama a $row['texto'] asi:

<? echo substr($row['texto'],0,99); ?>

Quiza no es la mejor solucion pero funciona, seguro que con el alias tambien se podra pero mi sql esta un poco oxidado


P.D. Le puedes concatenar unos puntos suspensivos (...) indicando que continua.


Salu2

Última edición por Darksoft; 05/04/2003 a las 19:23
  #3 (permalink)  
Antiguo 05/04/2003, 20:04
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Yo creo que hacerlo como dice Darksoft es una solución, pero si los campos de texto son muy grandes (o muchos) tu tiempo de carga es el que la va a pagar...

Prueba esto:
SELECT SUBSTRING(texto,1,100) as titular

Creo que te va a funcionar
__________________
Manoloweb
  #4 (permalink)  
Antiguo 05/04/2003, 20:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm En el manual de Mysql no está muy claro el rango de SUBSTRING ..

Pero prodrías probar desde POSicion 1 y LEN (longitud)
SUBSTRING(texto,1,99)

Cita:
SUBSTRING(str,pos,len)
SUBSTRING(str FROM pos FOR len)
MID(str,pos,len)
Returns a substring len characters long from string str, starting at position pos. The variant form that uses FROM is ANSI SQL92 syntax:
mysql> SELECT SUBSTRING('Quadratically',5,6);
-> 'ratica'
(el: str si usas un campo de tu tabla . .no ha de ir entre comillas .. )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 06/04/2003, 12:20
 
Fecha de Ingreso: julio-2001
Ubicación: Bogota
Mensajes: 87
Antigüedad: 16 años, 5 meses
Puntos: 0
me funciono!!!
lo hice como darksoft me dijo...y me funciono!
gracias darksoft
el problema que estaba teniendo era que le estaba poniendo comillas a la expresion completa y no la identificaba como lo que era...
pero ya lo solucione. =)
__________________
=============
JLC
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:04.