Забыли пароль?
Запросите новый здесь.

Автор темы: lucky
ID темы: 2545
Информация:
Тема содержит 7 сообщения, была просмотрена 2035 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » MySQL
 Распечатать тему
Как восстановить порядок нумерации
lucky
Здравствуйте.

Допустим в базе есть таблица с категориями:

------------------
id | name | pos
------------------
1 | kat1 | 1
------------------
3 | kat3 | 3
------------------
6 | kat6 | 6
------------------
7 | kat2 | 10
------------------
8 | kat7 | 30
------------------
9 | kat8 | 60
------------------

Сортировка категорий идёт по полю "pos", как видно, значения полей сейчас такие - 1, 3, 6, 10, 30, 60.
Как можно изменить значения по порядку с сохранением позиции? т.е. без пробелов, чтобы стало - 1, 2, 3, 4, 5, 6.
 
Deorchik
lucky, Зачем? ai
 
Web
lucky
ну я хотел чтобы каждый раз при удалении сразу нескольких категорий из базы нумерация позиций была всегда красивой, без пробелов :)

когда удаляю одну категорию, делаю запрос:
Скачать исходники  Код
$sql = "UPDATE cats SET pos = pos-1 WHERE pos >= {$pos} AND pos != 0";




всё нормально, но при удалении сразу нескольких категорий уже такой запрос не подходит, "дыры" остаются
Изменил(а) lucky, 02.09.2015 11:51
 
Rush
хороший вопрос, ни разу не встречал решения в один запрос. это скорее маловероятно, т.к. апдейт одного поля с разными значениями и условиями невозможен
 
Web
lucky
если невозможно, решил сделать по другому, категории же в цикле выводятся, добавлю счётчик, а обновлять позиции после удаления вообще не буду

сейчас в теле цикла:
Скачать исходники  Код
echo '<option value="'.$row['pos'].'">'.$row['pos'].' - '.$row['name'].'</option>';




сделаю так:
Скачать исходники  Код
echo '<option value="'.$row['pos'].'">'.$count.' - '.$row['name'].'</option>';
$count++;




ну вы меня поняли.. рядом с названием категории выводится номер позиции, вот поэтому и захотелось, чтобы выглядело нормально, по-русски :)
 
Vova
Удали столбец. А потом создай. И сделай запрос auto_increment.
 
Web
lucky
Vova, спасибо, но я уже всё сделал, как выше описал, даже лучше получилось, потому что у меня ещё есть подкатегории
lucky присоединено следующее:изображение:
2015-09-02_204611.png
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Как определить необходимые мощности хостинга для группы сайтов с определённой посещалкой?  →  Хостинг 0 / 16 20.02.2019 20:46
Как перейти с http на https  →  Вопросы новичков 20 / 19455 19.02.2019 22:19
Сделать ответыт на фриланс биржах на CURL - как?  →  PHP 1 / 288 05.11.2018 12:43
Восстановить доступ к админке  →  Безопасность 9 / 891 21.09.2018 07:22
Лендингоподобная главная - как заверстать адаптивно в CSS?  →  Пожелания и предложения 2 / 1685 24.04.2018 13:13
Как найти в БД для панели "похожие статьи, новости, темы"?  →  Пожелания и предложения 0 / 753 23.04.2018 17:29
Как защититься от спамеров? капча есть, но она легко вводится  →  Моды 11 / 8525 26.02.2018 19:52
сколько у вас Время загрузки и как оно зависит от хостинга?  →  Пожелания и предложения 9 / 3170 01.02.2018 06:27
Как правильно сделать ЧПУ и переиндексировать сайт?  →  Моды 2 / 4060 22.11.2017 18:20
Посоветуйте JS-слайдер чтобы фотки JPG сменялись как в GIF-анимации  →  Плагины 2 / 2073 13.11.2017 21:01
Топ 5 пользователей форума
Alex Alex (1,203)   Zaxap Zaxap (1,089)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)