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

Автор темы: lucky
ID темы: 2545
Информация:
Тема содержит 7 сообщения, была просмотрена 2119 раз.  Имеются прикрепленные файлы.
Просмотр темы
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:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Как перейти с http на https  →  Вопросы новичков 25 / 21071 21.10.2019 16:25
Как правильно сделать ЧПУ и переиндексировать сайт?  →  Моды 2 / 4487 20.10.2019 13:44
Посоветуйте JS-слайдер чтобы фотки JPG сменялись как в GIF-анимации  →  Плагины 2 / 2271 20.10.2019 13:34
Перешел на HttpS - Как теперь удалить Http?!  →  Вопросы новичков 1 / 399 18.06.2019 13:19
как правильно сделать phpmailer на utf-8?  →  Ошибки, баги 5 / 512 09.06.2019 14:15
Как определить необходимые мощности хостинга для группы сайтов с определённой посещалкой?  →  Хостинг 0 / 862 20.02.2019 20:46
Сделать ответыт на фриланс биржах на CURL - как?  →  PHP 1 / 752 05.11.2018 12:43
Восстановить доступ к админке  →  Безопасность 9 / 1066 21.09.2018 07:22
Лендингоподобная главная - как заверстать адаптивно в CSS?  →  Пожелания и предложения 2 / 2225 24.04.2018 13:13
Как найти в БД для панели "похожие статьи, новости, темы"?  →  Пожелания и предложения 0 / 1262 23.04.2018 17:29
Топ 5 пользователей форума
Alex Alex (1,211)   Zaxap Zaxap (1,089)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)