![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Вообщем так. У меня на странице есть список новостей и рядом с каждой копка удалить.
мне нужно что бы если я удалю какую-нибудт новость с номером 5. (а у меня есть и 6,7,8,9 и т.д.), то чтобы id в базе данных правильно переписал пре вышестоящие новости... а то получается: 1,2,3,4,6,7,8..... и 5 номер пропадает. помогите пожалуйста. |
|||
|
||||
| xolod |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 24.5.2005 Где: Когда: Что: Репутация: нет Всего: 13 |
||||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
Alexey007, id - это НЕ номер! PHP FAQ: MySQL. FAQ. ID.
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Спасибо.тогда другой вопрос как подправить код, чтобы "пустот" не было. т.е. если под таким id статьи нет, то не нужно созавать на него ссылку. вот код:
при следущая если будет несуществующий id, ссылку делать по след. СУЩествующий id. |
|||
|
||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
а зачем Вам так путаться.......Вы же из базы берете id, а значит такая запись там есть!
взяли id? потом создайте ссылку......вот и все......скрипт выберет статью где id равен значению переменной в ссылке --------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Вы меня не поняли.
У меня при выводе ссылок след. и пред. берется существующий id а потом идет +-1. Как сделать проверку что при таком id новость существует? |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 3 Всего: 22 |
Alexey007, бери не +-1
а например для 5 новости
запрос возвратит пред. и след. новость |
|||
|
||||
| mclight |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 6.7.2005 Где: Baku, Azerbaijan Репутация: нет Всего: 2 |
у вас не правильный подход.......ID это не нумерация......это любое значение по которому можно идентифицировать запись в базе..................
--------------------
Как я решал подводные камни Cakephp и не только |
|||
|
||||
| SelenIT |
|
||||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 9 Всего: 401 |
Vaulter, это далеко не всегда будет давать желаемый результат...
Alexey007, правильный ответ - не делать такой глупой проверки, а запросить из самой базы наибольший id меньше текущего и наименьший id больше текущего. Это 2 запроса, с помощью UNION можно насильно объединить их в один:
Можно и не объединять. Если какой-то из запросов вернет NULL, значит, эта новость - соотв-но первая или последняя в ряду. Это сообщение отредактировал(а) SelenIT - 5.4.2007, 08:33 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
||||
|
|||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 3 Всего: 22 |
далеко не всегда это сколько в процентах? и почему Вы так считаете? хочу пример |
|||
|
||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 1 Всего: 18 |
Vaulter, к стати да. при news_id 1, 2, 5, 6, 7 например результат - 6, 7
а сначала мне тоже понравилось |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 3 Всего: 22 |
Glip, ага, усек.
да действительно. тогда действительно оптимален вариант с MAX и MIN (сам тоже его использовал давно давно) |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
спасибо люди добрые) ток у меня не пашет
Это сообщение отредактировал(а) Alexey007 - 5.4.2007, 15:58 |
|||
|
||||
| Alexey007 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: нет Всего: 1 |
Это сообщение отредактировал(а) Alexey007 - 5.4.2007, 16:03 |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 3 Всего: 22 |
Alexey007, так это как раз вперед
а назад будет MAX(id) WHERE id < |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |