Я хочу сделать список результатов базы данных на моем сайте. Максимальное количество возвращаемых результатов — 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'");
используйте номер строки вместо номера столбца, так что вам не нужно управлять числами
SELECT
@i:=@i+1 AS iterator,
t.*
FROM
tablename AS t,
(SELECT @i:=0) AS foo
Других решений пока нет …