How can the concept of immutability of IDs in databases be maintained while allowing users to rearrange items in a sortable list using PHP and jQuery?

When allowing users to rearrange items in a sortable list, the concept of immutability of IDs in databases can be maintained by using a separate field for sorting order instead of directly updating the IDs. This way, the order of items can be changed without affecting the IDs.

// Assume $items is an array of items with unique IDs from the database
// and $newOrder is an array containing the new order of IDs

foreach($newOrder as $index => $itemId) {
    // Update the sorting order of each item in the database
    $query = "UPDATE items SET sort_order = $index WHERE id = $itemId";
    // Execute the query using your database connection
}

// After updating the sorting order, you can retrieve the items in the new order from the database
$query = "SELECT * FROM items ORDER BY sort_order ASC";
// Execute the query and display the items in the new order