Hi everyone. I'm putting together a client list for my company and I need to be able to move clients around from day to day and also change the order they are listed. My only problem is I can't figure out a way to adjust the orderid once moving them.
My database is set up something like this:
id | orderid | driverid | day | name | email
1 1 1 Mon - -
2 3 1 Tue - -
3 2 2 Wed - -
4 4 1 Mon - -
I need to be able to edit a rows orderid, lets say from 5 to 3 and re-order everyone so that there are no orderid duplicates and no gaps. I was thinking I need to submit the form with the changed orderid and if the new orderid is different from the old orderid, a query will select and add 1 to the rows with an orderid greater than the new one submitted and only for clients on that drivers day. Once that is done a new query will re-adjust all the orderid's again and re-order them so there are no gaps.
Am I on the right track here? How would I write this code out? I feel as if im doing it all wrong. Any help is greatly appreciated. Thanks
if ($orderid1 != $orderid2) {
$result = mysql_query("SELECT * FROM clients WHERE driverid = '$driverid' and day = '$day'") or die (mysql_error());
while($row = mysql_fetch_assoc($result)){
$neworderid = $row['orderid'] + 1;
mysql_query("UPDATE clients SET
orderid = '$neworderid',
WHERE orderid > '$orderid2' and clientid = '$row[clientid]'");
}
}