Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][SQL][PHP]"Renumeracja" rekordów
Forum PHP.pl > Forum > Przedszkole
mlawnik
Witam,

Mam następującą sytuację:

Skrypt "quizu"

Struktura bazy:
  1. DROP TABLE IF EXISTS `Answers`;
  2. CREATE TABLE IF NOT EXISTS `Answers` (
  3. `ID_lvl` smallint(6) NOT NULL,
  4. `Answer` text COLLATE utf8_unicode_ci NOT NULL
  5. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  6.  
  7. DROP TABLE IF EXISTS `Levels`;
  8. CREATE TABLE IF NOT EXISTS `Levels` (
  9. `ID_lvl` smallint(6) NOT NULL,
  10. `Question` text COLLATE utf8_unicode_ci NOT NULL
  11. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


Mam skrypt do usunięcia jednego poziomu, który jako argument GET przyjmuje ID poziomu.
Mamy 10 poziomów.
Po usunięciu 10. poziomu skrypt quizu działa nadal normalnie.

Jeżeli natomiast usuniemy poziom ze środka to będzie wyglądało to tak:

1,2,3,4,6,7,8,9,10

Teraz moje pytanie:

Jak wykonać funkcję, która zamieniłaby poziomy powyżej usuniętego na numer o 1 mniejszy, aby np. po usunięciu 5 poziomu wyglądałoby to tak:

1,2,3,4,5,6,7,8,9 zamiast tak jak powyżej.

Proszę o naprowadzenie mnie na jakiś trop.

Pozdrawiam,
mlawnik
skowron-line
[sql]update table set level = (level -1) where level > deleted_level[sql]
coś w ten deseń.
mlawnik
Dzięki wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.