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

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

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Как сделать микроразметку на сайте?  →  PHP 1 / 556 22.07.2021 06:39
Как вебмастеру сформулировали УТП для создания сайтов на PHP-Fusion?  →  Пожелания и предложения 1 / 3652 25.07.2020 03:46
SEO-оптимизация. дубли страниц в PHP-Fusion - где искать и как избавиться?  →  Ошибки, баги 0 / 1952 19.06.2020 17:06
Как вывести все данные из таблицы, за исключением администраторов  →  Плагины 3 / 2381 24.02.2020 15:59
Как перейти с http на https  →  Вопросы новичков 30 / 25987 24.10.2019 18:45
Как правильно сделать ЧПУ и переиндексировать сайт?  →  Моды 4 / 7189 24.10.2019 17:38
Как перенести ресурс на другой домен  →  Установка и настройка системы 5 / 1611 24.10.2019 14:01
Посоветуйте JS-слайдер чтобы фотки JPG сменялись как в GIF-анимации  →  Плагины 2 / 4450 20.10.2019 13:34
Перешел на HttpS - Как теперь удалить Http?!  →  Вопросы новичков 1 / 2757 18.06.2019 13:19
как правильно сделать phpmailer на utf-8?  →  Ошибки, баги 5 / 2583 09.06.2019 14:15
Топ 5 пользователей форума
Alex Alex (1,246)   Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)