Witam. Mam tabelę o takiej strukturze:
id | nazwa | pozycja | wlasciciel

Chciałbym, aby w rekordach w kolumnie pozycja nie było okienek, tzn jeżeli mam pozycje 1, 2, 3 i usunę 2, to wszystkie powyżej 2 zmienią swoją wartość o -1. Używałem takiej pętli:

  1. $pozycja = 2; //przykladowa pozycja
  2. $chan = $pozycja +1; //zwiekszam pozycje o 1
  3. while($pke = mysql_fetch_row(mysql_query("SELECT * FROM `pozycje` WHERE `pozycja`='$chan' AND `wlasciciel`='$id'"))) {
  4. mysql_query("UPDATE `pozycje` SET `pozycja`=`pozycja`-1 WHERE `pozycja`='$chan' AND `wlasciciel`='$id'");
  5. $chan++;
  6. }


Działało, dopóki nie zacząłem robić bardziej skomplikowanych skryptów. Teraz pozycje zmieniają się na przeróżne, nawet 0, kiedy to nie możliwe, gdyż wszystkie rekordy są dodatnie. Więc, da się to zrobić prościej, uniknąć tych okienek ?