- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Привет, как определить предыдущею и следующею запись в базе? Вообщем надо, что бы по запросу к записи прибавлялось (/ минусовалось) значение предыдущей записи или следующей записи.
mysql_query("update baza SET mesto= id+-предыдущая запись / следующая+1 where id='$id2' ")
Заранее спасибо...
Вообще говоря, следуя концепции субд, порядок строк в таблице не определен.
Уясните, что для вашей задачи порядок и поэкспериментируйте с подзапросами .
Если действительно остро стоит вопрос производительности, можно решать эту задачу через переменные mysql, которые вычисляются при переборе строк по заданному order by.
Вообще говоря, следуя концепции субд, порядок строк в таблице не определен.
Уясните, что для вашей задачи порядок и поэкспериментируйте с подзапросами .
Если действительно остро стоит вопрос производительности, можно решать эту задачу через переменные mysql, которые вычисляются при переборе строк по заданному order by.
Вообщем стоит задача контролировать порядок выведения данных (какой после какого и он может меняться) из бд на сайте (товары из каталога). Решил сделать на примере Bitrix т.е создал в таблице новую колонку "mesto2" и вписал под каждый товар значение 10, 20, 30 и тд. после чего при выводе товаров на сайте сделал "order by mesto2 ASC", проблема в том что в админ панели теперь надо сделать кнопочки "вверх, вниз " (что бы изменять положения товара) а правельно изменить значения я могу только зная значение предыдущей или следующий записи + при создание товара тоже надо знать значание предыдущей записи...
если знаете более рациональный способ с удовальствием Вас выслашую:)
Раз записи достаются по порядку, можно сразу на php сформировать код кнопок и передавать ид последующей и предыдущей записи для каждой записи. как то так : move.php?move=up&id=123&prev=122 и вниз : move.php?move=down&id=123&prev=124
а можно в mysql (тут появляется возможность продвигать на N записей вперед-назад):
1. после нажатия на кнопку мы знаем уникальный ид записи и её mesto2 - $mesto1
(надеюсь вы уже знаете что такое первичный ключ).
2. ищем следующую запись : select id,mesto2 .. where mesto2 > $mesto1 order by mesto2 limit 1
3. теперь мы знаем два уникальных id записей и их mesto2 , а значит можем обновить им поле mesto2 двумя запросами:
update .. set mesto2=$mesto2 where id=$id1
update .. set mesto2=$mesto1 where id=$id2
ну и там дальше нафантазируете..
Раз записи достаются по порядку, можно сразу на php сформировать код кнопок и передавать ид последующей и предыдущей записи для каждой записи. как то так : move.php?move=up&id=123&prev=122 и вниз : move.php?move=down&id=123&prev=124
а можно в mysql (тут появляется возможность продвигать на N записей вперед-назад):
1. после нажатия на кнопку мы знаем уникальный ид записи и её mesto2 - $mesto1
(надеюсь вы уже знаете что такое первичный ключ).
2. ищем следующую запись : select id,mesto2 .. where mesto2 > $mesto1 order by mesto2 limit 1
3. теперь мы знаем два уникальных id записей и их mesto2 , а значит можем обновить им поле mesto2 двумя запросами:
update .. set mesto2=$mesto2 where id=$id1
update .. set mesto2=$mesto1 where id=$id2
ну и там дальше нафантазируете..
Спасибо большое!) как я раньше не догнал что можно просто where mesto2 > $mesto1 order by mesto2 limit 1)))
Вопрос исчерпан тему думаю можно закрыть....