Foros del Web » Programando para Internet » PHP »

Uso de TRIM sobre un campo

Estas en el tema de Uso de TRIM sobre un campo en el foro de PHP en Foros del Web. Hola foro! les comento mi problema: tengo un campo en una bd que se llama "Empresa", la cuéstion es que algunos registros de ese campo ...
  #1 (permalink)  
Antiguo 25/06/2008, 15:00
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Uso de TRIM sobre un campo

Hola foro! les comento mi problema: tengo un campo en una bd que se llama "Empresa", la cuéstion es que algunos registros de ese campo tienen espacios en blanco al comienzo o al final de la cadena y necesito quitarlos. Es por eso que investigando en internet vi la función TRIM pero todos los ejemplos que vi son de este estilo:

Código PHP:
SELECT TRIM(' blog ') as result FROM table1 
Osea que le sacan los caracteres en blancos a un string determinado, pero yo lo que quiero es usar la función sobre un campo no sobre un string. Seria algo asi:

Código PHP:
SELECT TRIM(empresaFROM table1 
y que de esa forma le quite los espacios en blancos a los registro del campo empresa que los contengan.

esto obviamente no me funciona, tengo algún error de sintaxis? o simplemente no se puede hacer? (de ser asi conocen de alguna solución alternativa?)

Desde ya les agradezco!
  #2 (permalink)  
Antiguo 25/06/2008, 15:32
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Uso de TRIM sobre un campo

Con esa sintaxis estás haciendo un select y no un update: es decir, te muestra sin los espacios, pero no los borra de la base.
para borrar esos espacios tendrías que usar una sintaxis como esta:

UPDATE nombretabla SET nombrecampo = TRIM(nombrecampo)
  #3 (permalink)  
Antiguo 26/06/2008, 08:29
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Respuesta: Uso de TRIM sobre un campo

Gracias jurena por tu respuesta, en realidad no los quiero modificar los datos en un principio, solo los quiero mostrar sin los espacios por eso uso el SELECT y no el UPDATE, el tema es que el select no me muestra nada. Mi código es:

Código PHP:
include("conexion.php");
        
$squery="SELECT trim(empresa) FROM tabla";
        
$iquery=mysql_query($squery,$link);
        while(
$rowmysql_fetch_array($iquery)){ 
                echo 
"_".$row['empresa']."_<br>";
        }
        
mysql_close(); 
Cuando ejecuto este script me da como resultado en pantalla: __ y el resultado tendria que ser: _NombreEmpresa_

Por qué no me muestra el nombre de la empresa? estoy usando mal el trim? (obviamente que si le saco el trim muestra todos los nombres de la empresas, pero algunos con espacios en blanco por delante y por detrás).
  #4 (permalink)  
Antiguo 26/06/2008, 11:07
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Uso de TRIM sobre un campo

Este es una duda en parte de MySQL y en parte PHP. Tienes que hacer un alias para eso:
include("conexion.php");
$squery="SELECT trim(empresa) AS empre FROM tabla";
$iquery=mysql_query($squery,$link);
while($row= mysql_fetch_array($iquery)){
echo "_".$row['empre']."_<br>";
}
mysql_close();
Observa que el alias de MySQL es usado como nombre de campo al ser recogido en el array por PHP. Pruébalo y dinos.
  #5 (permalink)  
Antiguo 26/06/2008, 15:19
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 1
Respuesta: Uso de TRIM sobre un campo

Gracias Jurena
  #6 (permalink)  
Antiguo 26/06/2008, 22:19
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: Uso de TRIM sobre un campo

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 15:45.