Foros del Web » Programando para Internet » PHP »

ayuda con combo

Estas en el tema de ayuda con combo en el foro de PHP en Foros del Web. hola a todos !!! espero que esten muy bien.... resulta que tengo una duda tengo en una tabla guardado el nombre de un evento por ...
  #1 (permalink)  
Antiguo 29/01/2006, 18:40
Avatar de ing_aprendiz  
Fecha de Ingreso: septiembre-2005
Mensajes: 136
Antigüedad: 12 años, 2 meses
Puntos: 0
ayuda con combo

hola a todos !!! espero que esten muy bien.... resulta que tengo una duda tengo en una tabla guardado el nombre de un evento por ejemplo:

X CONGRESO INTERNACIONAL DE TECNOLOGIA, INTELIGENCIA ARTIFICIAL Y REDES

el problema es que necesito que en un combo solo salga:

X CONGRESO INTERNACIONAL DE TECNOLOGIA, INTELIGENCIA....

pues el combo crece y la pagina crece hacia el lado derecho y la presentación final de la page se daña.... espero me puedan ayudar gracias...
  #2 (permalink)  
Antiguo 29/01/2006, 19:40
Avatar de dopon  
Fecha de Ingreso: julio-2005
Ubicación: Cucuta / Colombia
Mensajes: 493
Antigüedad: 12 años, 5 meses
Puntos: 1
que necesitas exactamente que lo muestre cortado siempre osea que se vea como deseas , o que el combo aparezca de tamaño pequeño pero al abrirlo los campos de seleccion se vean de la longitud natural?
  #3 (permalink)  
Antiguo 29/01/2006, 19:51
Avatar de braulito  
Fecha de Ingreso: abril-2004
Ubicación: Cusco - Perú
Mensajes: 597
Antigüedad: 13 años, 7 meses
Puntos: 8
Código PHP:
echo (strlen($cadena)> 50) ? substr($cadena050) : $cadena 
__________________
Braulio Soncco
braulio at buayacorp dot com
Buayacorp - Programación y Diseño
  #4 (permalink)  
Antiguo 29/01/2006, 19:56
 
Fecha de Ingreso: enero-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 299
Antigüedad: 11 años, 11 meses
Puntos: 5
Podrías hacer algo así (tené en cuenta que hay varias formas de hacerlo):

Código PHP:
<?php
$strOriginal 
"X CONGRESO INTERNACIONAL DE TECNOLOGIA, INTELIGENCIA ARTIFICIAL Y REDES";
if (
strlen($strOriginal)>30) {
    
$aux substr($strOriginal,0,30); // 30 es la cantidad de caracteres a extraer 
    
$posEspacio strrpos($aux," "); // buscás la última posición del espacio
    
$strFinal substr($aux,0,$posEspacio); // traés todo lo que hay "a la izquierda"
    
echo $strFinal."..."// lo imprimís y agregás los puntos suspensivos
} else {   // si el original tiene menos de 30 caracteres, lo imprimís como viene
    
echo $strOriginal;
}
?>
O, más simple:

Código PHP:
<?php
$strOriginal 
"X CONGRESO INTERNACIONAL DE TECNOLOGIA, INTELIGENCIA ARTIFICIAL Y REDES";
if (
strlen($strOriginal)>30) {
    
$aux substr($strOriginal,0,30);// traés los primeros 30 caracteres
        
echo $aux."..."// agregás los puntos e imprimís
} else {
    echo 
$strOriginal;
}
?>
En el primero, buscás primero 30 caracteres (o cualquier otro valor que prefieras). Después buscás el último espacio en blanco dentro de ese substring y tomás todo lo que está a la izquierda (o sea desde la posición cero hasta ese espacio). La ventaja es que no te corta palabras por el medio.

En el segundo, simplemente traés los primeros 30 caracteres y le agregás los puntos suspensivos.

Suerte
Califa

Última edición por califa010; 29/01/2006 a las 20:03
  #5 (permalink)  
Antiguo 29/01/2006, 20:19
 
Fecha de Ingreso: diciembre-2005
Mensajes: 122
Antigüedad: 12 años
Puntos: 0
Código:
<?php
$strOriginal = "X CONGRESO INTERNACIONAL DE TECNOLOGIA, INTELIGENCIA ARTIFICIAL Y REDES";

echo str_pad( substr($strOriginal, 0, 52 ), 55, '.' );
?>
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 22:22.