Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/07/2008, 03:01
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Como Listar los campos de Una Tabla

Cita:
Iniciado por Publinforme Ver Mensaje
Hola, estoy usando SHOW COLUMNS para hacer el formulario para modificar los contenidos de mis tablas, pero me haría falta saber qué longitud tienen los campos para poner un <input> o <textarea>...

He estado buscando en la ayuda de mySQL pero no encuentro el método...

Muchas gracias.
Por lo que se refiere a los campos de texto en la versión 5.0, puedes hacerlo con
SELECT `CHARACTER_MAXIMUM_LENGTH`, `CHARACTER_OCTET_LENGTH` FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'nombretabla'
AND table_schema = 'nombrebase'
AND column_name LIKE 'nombrecampo'

El problema es que, al parecer, para los campos numéricos hay un bug que da como resultado NULL. Busca en la red sobre ello.

Otra opción es descargar con programación el array que sacas con SHOW COLUMNS FROM nombretabla, y separar luego el número incluido entre paréntesis del dato incluido en Type del array, pero eso ya tendrías que hacerlo con programación.

Esto es lo que puedo decirte por lo que se refiere a bases de datos. Los programas tienen sus propias funciones para averiguar longitudes de campo, y por supuesto también PHP. Pregunta en el foro de PHP sobre ello.