Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как получить имена столбцов таблице?
Покинул форум
Сообщений всего: 43
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Собственно хочется скрипт написать универсальный, ему передаются данные из формы, и имя таблицы, а он уже сам разбирается какие данные в какой столбец затолкать. Ну и собственно стоит ли так париться, вообще реализуемо?
caballero
Отправлено: 12 Ноября, 2011 - 01:13:49
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
для получения списка столбцой есть специальная БД в nydql - information_schema
но даже если знать какие столцы в БД как определить куда какой толкать?
а если поля формы и бд совпаают то зачем их узнавать
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DeMonyan
Отправлено: 12 Ноября, 2011 - 13:23:59
Новичок
Покинул форум
Сообщений всего: 43
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
caballero пишет:
для получения списка столбцой есть специальная БД в nydql - information_schema
но даже если знать какие столцы в БД как определить куда какой толкать?
а если поля формы и бд совпаают то зачем их узнавать
Определить какой куда толкать - это уже задача форму правильно расположить. А если поля формы совпадают с полями бд, то обращаться то к ним всё раво как-то надо... Если элементы формы я могу например назвать data_1, data_2 ... data_n, и потом их спокойно перебирать по очереди, ибо количество столбцов то узнать можно в таблице. Но в запрос на добавление данных нужно же вносить названия столбцов... Поэтому мне кажется проще использовать название столбцов для имён инпутов и перебирать их по именам столбцов а не по номерам.
DeMonyan
Отправлено: 12 Ноября, 2011 - 15:44:39
Новичок
Покинул форум
Сообщений всего: 43
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Собственно решение своего вопроса я нашёл, может кому пригодится:
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DeMonyan
Отправлено: 12 Ноября, 2011 - 18:05:25
Новичок
Покинул форум
Сообщений всего: 43
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Я уже тоже самое нашёл на нормальном языке. ))) Тобишь на русском. Хоть знаний и хватит для прочтения и на инглише, но любой язык исключая родной считаю не нормальным и использую только в случае невозможности найти информацию на "нормальном" языке. За ссылку спасибо большое, стало понятно что искать на русском. )))
А подскажите пожалуйста как теперь для таблицы узнать: foreign key?
Покинул форум
Сообщений всего: 43
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
caballero пишет:
все типы данных столбцов в таблице information_schema.columns - какие проблеммы
Не понял...
snikers987
Отправлено: 12 Ноября, 2011 - 20:11:27
Участник
Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011 Откуда: Крым
Помог: 25 раз(а)
DeMonyan пишет:
caballero пишет:
все типы данных столбцов в таблице information_schema.columns - какие проблеммы
Не понял...
Есть база information_schema в ней есть таблица columns в ней хранятся все типы данных столбцов, что не понятно?
----- Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
Данил_123
Отправлено: 12 Ноября, 2011 - 21:04:37
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Помог: 9 раз(а)
DeMonyan очень внимательно вчитывался в первый пост.. И понял(но это сильно опровергает посты остальных..).. Т.ч не уверен.. У вас есть форма с нее данные уходят в обработчик, и вы хотите понять как они пихаются в столбцы? В запросе на запись указывать в той же последованости(передал 'имя' и "пароль") и в той же порядке прописываете в запросе на запись.. Ну или вторым способом, но писать лень..
ЗЫ:походу не то написал.. Как понял..
----- http://mysitecost.ru
DeMonyan
Отправлено: 12 Ноября, 2011 - 22:10:41
Новичок
Покинул форум
Сообщений всего: 43
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Данил_123 пишет:
DeMonyan очень внимательно вчитывался в первый пост.. И понял(но это сильно опровергает посты остальных..).. Т.ч не уверен.. У вас есть форма с нее данные уходят в обработчик, и вы хотите понять как они пихаются в столбцы? В запросе на запись указывать в той же последованости(передал 'имя' и "пароль") и в той же порядке прописываете в запросе на запись.. Ну или вторым способом, но писать лень..
ЗЫ:походу не то написал.. Как понял..
Мне нужно сформировать форму на основе типа данных в столбцах, передать её обработчику который по имени таблицы создаст запрос на добавление введённых данных.
На данный момент я не могу обработать колонку корректно, если в неё нужно ввести данные выбрав одно из значений колонки другой таблицы, foreign key нужен...
DeMonyan
Отправлено: 13 Ноября, 2011 - 00:42:44
Новичок
Покинул форум
Сообщений всего: 43
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Вот такой запрос в MySQL в принципе выдаёт нужные данные: SHOW CREATE TABLE 'имя таблицы', но не могу понять как его использовать в PHP?! В идеале хочется создавать форму для конкретной таблицы на основе метаданных о ней. Если тип int или varchar, то поле ввода, если set то select , если int и foreign key то тоже select. Как сделать селект на основе данных из запроса в принципе понимаю, не сложно. На основе set тут сложнее, но тоже думаю решаемо, мне сложно потому что операторов работы со строкой не знаю в PHP.
А можете дать пример кода как результат этого запроса обработать? Или статью где это прочесть? Яндексом нарыл только SHOW CREATE TABLE... (Добавление)
Ваш запрос не даст информацию о том откуда считать возможные данные для ввода в столбец.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.