Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2011, 15:10   #1
GriFFoN
Пользователь
 
Аватар для GriFFoN
 
Регистрация: 03.06.2011
Сообщений: 54
По умолчанию Проверка, создание столбца в таблице (mysql)

Помогите написать следующий скрипт:
Надо проверять если существует столбец с именем d(в таблице), то сделать d2, если есть d2, сделать d3 и так далее.
Как это сделать ?
Столбцы делать так: $result = mysql_query("ALTER TABLE t2 ADD d TEXT");
Где t2 - таблица, d - название столбца.

Последний раз редактировалось GriFFoN; 01.09.2011 в 15:24.
GriFFoN вне форума Ответить с цитированием
Старый 01.09.2011, 15:30   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Писать за вас тут никто ничего не будет(бесплатно).

Алгоритм:
1. Получаем информацию о полях(столбцах) таблицы:
SHOW COLUMNS FROM `table_name` - пример реализации

2. Проверяем в цикле, есть ли нужный нам столбец.

3. Если его там нет - добавляем его.

Ничего сложного, если нет желания писать самостоятельно - welcome в раздел Фриланс.
Andkorol вне форума Ответить с цитированием
Старый 01.09.2011, 15:43   #3
GriFFoN
Пользователь
 
Аватар для GriFFoN
 
Регистрация: 03.06.2011
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Писать за вас тут никто ничего не будет(бесплатно).

Алгоритм:
1. Получаем информацию о полях(столбцах) таблицы:
SHOW COLUMNS FROM `table_name` - пример реализации

2. Проверяем в цикле, есть ли нужный нам столбец.

3. Если его там нет - добавляем его.

Ничего сложного, если нет желания писать самостоятельно - welcome в раздел Фриланс.
"Писать за вас тут никто ничего не будет(бесплатно)." - я не просил за меня писать. Спасибо за ответ .
GriFFoN вне форума Ответить с цитированием
Старый 01.09.2011, 16:03   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от GriFFoN Посмотреть сообщение
я не просил за меня писать.
В этом случае обычно показывают свои наработки, какой-то начальный код.

Кроме того, ваша фраза "Столбцы делать так: $result = mysql_query("ALTER TABLE t2 ADD d TEXT");" - имеет совсем уж "приказной" вид,
как "руководство" для тех, кто бросится писать вам код.
Andkorol вне форума Ответить с цитированием
Старый 01.09.2011, 16:45   #5
GriFFoN
Пользователь
 
Аватар для GriFFoN
 
Регистрация: 03.06.2011
Сообщений: 54
Радость

Цитата:
Сообщение от Andkorol Посмотреть сообщение
В этом случае обычно показывают свои наработки, какой-то начальный код.

Кроме того, ваша фраза "Столбцы делать так: $result = mysql_query("ALTER TABLE t2 ADD d TEXT");" - имеет совсем уж "приказной" вид,
как "руководство" для тех, кто бросится писать вам код.
Согласен, но я просто хотел привести пример как можно создать столбцы

Последний раз редактировалось GriFFoN; 01.09.2011 в 16:48.
GriFFoN вне форума Ответить с цитированием
Старый 01.09.2011, 18:34   #6
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Могу написать за 200 р. Если нужно, обращайтесь.
motorway вне форума Ответить с цитированием
Старый 01.09.2011, 19:13   #7
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

а вообще - не очень часто такие ситуации бывают, что столбцы добавлять надо.. да еще проверять их имена, ибо обычно это не нужно. Думаю у вас неверно спланирована БД, скажите - для каких целей это нужно, а мы переубедим вас, что это можно сделать по другому.
ADSoft вне форума Ответить с цитированием
Старый 01.09.2011, 21:11   #8
GriFFoN
Пользователь
 
Аватар для GriFFoN
 
Регистрация: 03.06.2011
Сообщений: 54
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
а вообще - не очень часто такие ситуации бывают, что столбцы добавлять надо.. да еще проверять их имена, ибо обычно это не нужно. Думаю у вас неверно спланирована БД, скажите - для каких целей это нужно, а мы переубедим вас, что это можно сделать по другому.
Нет, надо именно так))
Я лично думал намутить что то со счетчиком типа

$fields = mysql_list_fields("db","tabl");
$columns = mysql_num_fields($fields);

for($i=0; $i > 100; $i++)
{

Тут проверки на занятость + добавления

}
GriFFoN вне форума Ответить с цитированием
Старый 01.09.2011, 21:26   #9
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Насчет mysql_list_fields():
Цитата:
This function is deprecated. It is preferable to use mysql_query() to issue an SQL SHOW COLUMNS FROM table [LIKE 'name'] statement instead.
Возможны траблы.
Andkorol вне форума Ответить с цитированием
Старый 01.09.2011, 21:36   #10
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Ну а всё же, интересно, зачем вам нужно именно так делать?
motorway вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как извлечь в один массив данные из одного столбца в MySQL ? Novichok PHP Помощь студентам 0 25.03.2011 21:39
Проверка есть ли такая запись в таблице Uxas Помощь студентам 6 20.02.2011 19:55
сравнение ячеек и добавление нового столбца к таблице robbe Microsoft Office Excel 7 22.01.2010 10:30
Проверка наличия записи в таблице MargoNik БД в Delphi 2 08.07.2009 06:20
Выделение последнего столбца в таблице Busine2009 Microsoft Office Word 2 26.05.2009 07:20