Установить порядок строк в базе данных

Я хочу сделать список результатов базы данных на моем сайте. Максимальное количество возвращаемых результатов — 5, и я хочу, чтобы пользователь мог выбирать порядок, в котором они отображаются. Для этого у меня в таблице базы данных есть столбец «Порядок», в котором можно установить порядок 1, 2, 3, 4 или 5. При получении списка сначала отобразится 1, и т. Д.

Что ж, я пытаюсь сделать так, чтобы, если вы удалите столбец, упорядоченный как «3», то два столбца, упорядоченные по 4 и 5, автоматически изменятся на 3 и 4. Затем, когда пользователь вводит новый результат в базу данных, он проверит, сколько там записей, а затем узнает, если он найдет 4, следующий должен быть порядок как «5». Или, если он находит 2 результата, следующий должен быть заказан как «3».

Эта последняя часть достаточно проста, и я могу сделать это, но я не могу сделать так, чтобы столбцы были настроены так, чтобы не пропустить ни одного числа.

Прямо сейчас я использую типичный способ удаления столбцов … Могу ли я добавить что-нибудь, что может решить то, что я хочу сделать?

$sql = $this->dbh->prepare("DELETE FROM ". $this->config['db']['table4'] ." WHERE ". $this->config["db"]["columns"]["id"] ."= '$shift'");

0

Решение

используйте номер строки вместо номера столбца, так что вам не нужно управлять числами

SELECT
@i:=@i+1 AS iterator,
t.*
FROM
tablename AS t,
(SELECT @i:=0) AS foo
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector