Foros del Web » Programando para Internet » PHP »

Cambio de columnas en MySQL

Estas en el tema de Cambio de columnas en MySQL en el foro de PHP en Foros del Web. Hola a todos... me preguntaba como hacer para recibir un listado de una BD Mysql, incluyendo las columnas, pero cambiandoles los nombres... ya que tengo ...
  #1 (permalink)  
Antiguo 29/10/2006, 02:17
 
Fecha de Ingreso: mayo-2006
Mensajes: 119
Antigüedad: 18 años, 5 meses
Puntos: 0
Pregunta Cambio de columnas en MySQL

Hola a todos... me preguntaba como hacer para recibir un listado de una BD Mysql, incluyendo las columnas, pero cambiandoles los nombres... ya que tengo columnas con nombres largos o con _ -.

Por ejemplo, si tengo la columna: id_empleado_vi, mostrar sus registros bajo una columna llamada "registro"

Pensaba en setear los nombres que recibiran estas columnas de mi BD en un archivo php, y antes de mostrar registros realizar el cambio de nombres segun sea una u otra.


Bueno, espero alguien me sepa asesorar... saludos a todos!!
  #2 (permalink)  
Antiguo 29/10/2006, 10:19
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 19 años, 2 meses
Puntos: 55
eso se hace con el operador AS por ejemplo en tu caso seria

SELECT id_empleado_vi AS idEmpleado FROM tabla

luego cuando quieras acceder al id del empleado lo vas a tener q hacre con idEmpleado
capichi?
  #3 (permalink)  
Antiguo 29/10/2006, 18:41
 
Fecha de Ingreso: mayo-2006
Mensajes: 119
Antigüedad: 18 años, 5 meses
Puntos: 0
Hola emiliodeg, a lo que me referia es a mostrar un listado, incluidas las columnas, pero que, de forma automatica, se cambien los nombres de las columnas a algo mas entendible.

Asi por ejemplo obtengo todas las columnas de la tabla empleados:

Código PHP:
<?
$Resultado
=mysql_query("select * from empleados");
$fields mysql_num_fields($Resultado); //Numero de Columnas

for ($i=0$i $fields$i++) { 
    
    
$name  mysql_field_name($Resultado$i); //por cada columna saco el nombre en BD
    
echo $name" ";     //MUESTRA: id_empleado_vi nombres dep-1 are-1 sueldo
     
}

?>
Entonces lo que necesitaba era poder cambiar el nombre de las columnas hacia algo mas "legible" sin tener que hacer, en cada caso dentro del FOR, un IF como:

Código PHP:
<? if ($name=="id_empleado_vi"$name="REGISTRO";
echo 
$name" ";     //MOSTRARÍA : REGISTRO nombres dep-1 are-1 sueldo
?>
Pense en hacer un archivo aparte .PHP para reemplazar cada nombre de columna en la BD por el asociado en el .PHP, ya que esto lo quiero hacer en mas de 10 consultas con tablas... para automatizar la cosa.
Lo que no se es como hacerlo, si con la funcion reemplace u otra forma...

Espero haber sido algo mas claro :)
Saludos! y gracias.

Última edición por ale_g; 30/10/2006 a las 00:12
  #4 (permalink)  
Antiguo 30/10/2006, 00:02
 
Fecha de Ingreso: mayo-2006
Mensajes: 119
Antigüedad: 18 años, 5 meses
Puntos: 0
pensaba... tal vez sería mejor sacar los nombres a modificar desde otra tabla... tiene que haber una solucion.
  #5 (permalink)  
Antiguo 30/10/2006, 12:50
pez
 
Fecha de Ingreso: enero-2002
Mensajes: 354
Antigüedad: 22 años, 10 meses
Puntos: 0
Hola lo que quieres es cambiar es el nombre de la columa

seria algo haci:

ALTER TABLE libro CHANGE columna_antigua columna_nueva VARCHAR(10)

Un Saludo
  #6 (permalink)  
Antiguo 30/10/2006, 12:59
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
No se que tan "dinámico" es lo que tenes. Sino Create un array y macheas los resultados con el índice, por ejemplo:
Código PHP:
$campos = array(' id_empleado_vi'=>'registro','otro_campo'=>'campo'); 
Cuando hagas un:
Código PHP:
echo $campos[$name]; 
Tendrás, en el caso de id_empleado_vi en pantalla registro. Igual, si haces esto, usa un isset de esta manera (para las posiciones que no existan)

Código PHP:
echo isset( $campos[$name] ) ? $campos[$name] : $name
Espero que sea lo que necesitas.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #7 (permalink)  
Antiguo 30/10/2006, 21:38
 
Fecha de Ingreso: mayo-2006
Mensajes: 119
Antigüedad: 18 años, 5 meses
Puntos: 0
Excelente nico, eso soluciono todo...
Voy a tratar de generar los arrays para guardarlos en un archivo php Asi lo incluyo para automatizar, segun la tabla.

Gracias!
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 21:52.