
Piszę skrypt PHP / MySQL na własne potrzeby i mam taką oto sytuację oraz problem - przejdźmy zatem do konkretów:
Dodaję za pomocą formularza rekord wraz z opcją wpisania ID (sort_id w bazie). Sortowanie na stronie leci za pomocą właśnie tego sort_id, więc chciałbym wprowadzić, że jeśli przykładowo mam rekordy z sort_id 1, 2, 3, 4, 5, oraz gdy wpiszę w formularzu nowego rekordu przykładowo id 3, to istniejącym już rekordom z sort_id 3, 4, 5 zostanie nadany UPDATE, gdzie zostanie dodany +1 do ich sort_id, czyli będą wynosić 4, 5, 6, a tamten doda się z sort_id 3.
Zrobiłem już coś takiego:
$name = safe_it($_POST["name"]); $description = safe_it($_POST["description"]); $category = safe_it($_POST["category"]); $id = safe_it($_POST["id"]); { $getSort = $board["sort_id"]; mysql_query("UPDATE `server_boards` SET `sort_id` = '" .($getSort + 1). "' WHERE `sort_id` = '$getSort'"); } mysql_query("INSERT INTO `server_boards` VALUES(NULL, '$name', '$description', '$category', '$id')");
Niestety, po zrobieniu tego wszystko się pruje, znaczy się mam wyniki, które pierwotnie były (sort_id) 1, 2, 3, 4, 5, 6, 7, zmieniły się w 1, 1, 1, 6, 6, 8, 8. Oczywiście nowy rekord został dodany prawidłowo po tym...
Zatem, ma ktoś jakąś propozycję rozwiązania tego problemu?
Pozdrawiam i z góry dziękuję za chęci pomocy
