|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.12.2014, 17:36 | #1 |
Пользователь
Регистрация: 05.12.2009
Сообщений: 51
|
Автонумерация в БД
Прошу помощи у гуру PHP!
Есть таблица Journal с элементами в ней zap, ish_nd, date_ish_nd и т.д. Селекчу в нее данные через форму, это самое простое, но мне необходимо проделать при селекте следующую фитчу с элементом ish_nd и как это реализовать (база пустая): загоняем в таблицу первоначальные данные, проверяем в базе ish_nd на наличие в ней данных, если 0, то добавляем 1; если последняя запись равна 1 или 2 или 3 и т.д. то приплюсовываем к этим данным +1 (т.е в БД последняя запись элемента ish_nd равна "3" то +1 = "4") и загоняем готовые данные формой вместе с другими элементами. Надеюсь я доступно обьяснил =)). Изначально хотел брать данные из ID (AUTO_INCREMENT), но когда столкнулся с некоторыми проблемами при удалением данных из БД, то в срочном порядке пришлось отказаться от этой идеи. Последний раз редактировалось maksikus; 08.12.2014 в 17:42. |
08.12.2014, 17:44 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
И что за проблемы?
|
08.12.2014, 17:56 | #3 |
Пользователь
Регистрация: 05.12.2009
Сообщений: 51
|
Моих познаний в PHP не хватает для реализации данной задачи, вот и прошу помощи. Хотя бы направить как это сделать.
|
08.12.2014, 18:01 | #4 | |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Непонятно каков должен быть игот? Непрерывная нумерация строк в бд?
Стрелок-охотник
|
|
08.12.2014, 18:05 | #5 |
Пользователь
Регистрация: 05.12.2009
Сообщений: 51
|
|
08.12.2014, 18:19 | #6 | |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Стрелок-охотник
|
|
08.12.2014, 18:23 | #7 |
Пользователь
Регистрация: 05.12.2009
Сообщений: 51
|
Необходимо, чтобы готовые данные из формы добавлялись в БД, т.е. скрипт смотрит в таблице ish_nd если 0 то добавляет 1, если последняя запись имеет 1 или 2 приплюсовывает к нему 1 и через форму вносит готовый результат в БД.
|
08.12.2014, 18:33 | #8 | |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Вы наступите на те же грабли что и с автоинкрементом. В таблице 5 записей, удаляется запись 3, записи 4 и 5 сохранят номера, следующая запись будет иметь номер 6.
Стрелок-охотник
|
|
08.12.2014, 18:37 | #9 |
Пользователь
Регистрация: 05.12.2009
Сообщений: 51
|
То что в середине не важно, важно, чтобы при удалении последней , т.е. 4, 5,6, удалить 6 , остается 4,5 и +1 =6. С автоинкрементом он продолжит 7, вместо 6, это сбивает нумерацию напроч.
|
08.12.2014, 18:54 | #10 | |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Цитата:
Могу предложить 2 надёжных решения и с автоинкрементом и без, но оба они неоптимальны, а на большом проекте положат СУБД моментом. Это не решение, это изначальный костыль. Могу предложить одно ненадежное, которое может привести к дублированию номеров, что тоже костыль.
Стрелок-охотник
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автонумерация строк в Эксель! | Blood_ghosT | Microsoft Office Excel | 6 | 26.07.2014 07:47 |
автонумерация | kolyaod | Microsoft Office Word | 2 | 27.09.2011 10:16 |
Автонумерация подписей к рисункам | Alar | Microsoft Office Word | 1 | 02.09.2011 13:48 |
автонумерация рис... | warma2d | Microsoft Office Word | 3 | 18.12.2008 17:18 |
Автонумерация при скрытых строках. | DiVinyl | Microsoft Office Excel | 1 | 17.03.2007 18:02 |