Показать сообщение отдельно
  #20 (permalink)  
Старый 16.08.2016, 18:30
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

laimas, ты же вроде специалист по реляционным беде и должен знать, как получить инфу о таблице. Это можно сделать в том числе через information_schema, зацени

$q='select `table_name`,`column_name`,`data_type` as `dtype`,
coalesce(`character_maximum_length`,`numeric_precision`) as `maxlength`,
`numeric_scale` as `decimals`,
`column_key`, 
(`is_nullable`="NO" && `column_default` is NULL) as `required`,
`column_default` as `value`,
`column_type` as `data`
from `information_schema`.`columns` 
where `table_schema`="'.$this->db_name.'" 
and `table_name`="'.$table_name.'"';


Затем еще немного преобразования табличных типов данных в типы полей формы

$sql_types=array(
	'varchar|text|year|char|tinytext|mediumtext|longtext' => 'text',
	'int|decimal|tinyint|smallint|mediumint|bigint|float|double|real' => 'number',
	'enum|set'	=>'select',
	'timestamp'	=>'datetime-local',
	'bit|boolean|serial'=>'range'
);


и конечно потребуется процедура и получаем заготовку с массой готовой инфы, которую уже не надо профтыкать в моделях. Узбагойся уже.
Ответить с цитированием