php - Fastest way to update orderning in MySQL -
say have list of items, generated database. sake of example, let's call them:
item1 item2 item3 ... itemn
say want allow drag of these items , place them in order want (i.e. can take item10 , place between item2 , item3, shows after item2).
this means need update ordering of items after dragged item placed. efficient way of doing this? there trick or updating after?
edit:
would node-approach faster?\ node, mean each item linked next item. way, need update 3 nodes' children , else work. in example above, before drag had :
item2.child = item3
, itemn-1.child = itemn
, itemn.child = null
.
after drag, need update:
item2.child = itemn
, itemn.child = item3
, itemn-1.child = null
is better implementation? doing this, can't figure out way display list of queries db ...
well if talking ui way here is:
say have 5 elements names each element has attr called "order"
<ob1 order="1" name="1"> <ob1 order="2" name="2"> <ob1 order="3" name="3"> <ob1 order="4" name="4"> <ob1 order="5" name="5">
say want put 1 name of "5" first place.
it becomes:
<ob1 order="1" name="5"> <ob1 order="2" name="1"> <ob1 order="3" name="2"> <ob1 order="4" name="3"> <ob1 order="5" name="4">
when drag name="5" top order gets set 1 rest 1 added them.
alternatively:
say have 5 elements names each element has attr called "order"
<ob1 order="1" name="1"> <ob1 order="2" name="2"> <ob1 order="3" name="3"> <ob1 order="4" name="4"> <ob1 order="5" name="5">
when move name="5" top gets next elements sort order subtracts 1 so:
it becomes:
<ob1 order="0" name="5"> <ob1 order="1" name="1"> <ob1 order="2" name="2"> <ob1 order="3" name="3"> <ob1 order="4" name="4">
applying same type again lets move 4 top:
<ob1 order="-1" name="4"> <ob1 order="0" name="5"> <ob1 order="1" name="1"> <ob1 order="2" name="2"> <ob1 order="3" name="3">
sorry wall of text.
the fastest way of moving them around database: there isnt one. handle sorting in code apply sorting database.
Comments
Post a Comment