ich etwas ähnliches wie Zendesk tun würde.
Sie klicken auf die Schaltfläche "Bestellung bearbeiten", und wenn Sie fertig sind, sagen Sie "Save Order" oder etwas in diesem Sinne. Dies können Ajax-Aufrufe sein, um sie brauchbarer zu machen, sie können aber auch Seitenaktualisierungen sein, die eine angemessene Herabwürdigung ermöglichen.
So wäre es etwas, was wie:
<ul>
<li><input type="hidden" name="item1" value="1" />Item 1</li>
<li><input type="hidden" name="item2" value="2" />Item 2</li>
<li><input type="hidden" name="item3" value="3" />Item 3</li>
<li><input type="hidden" name="item4" value="4" />Item 4</li>
</ul>
Wenn Sie die Einzelteile bewegen, dies den Wert des verborgenen Feldes ändern würde. Wenn Sie dies für Sie veröffentlichen, könnten Sie diese Werte in einer update-Anweisung verwenden und nur einen Anruf tätigen. Etwas wie:
UPDATE `things` SET `order` = $value WHERE `name` = $name;
Es könnte in diesem Fall nicht effizient sein, da es würde 4 SQL-Anweisungen sein, obwohl es vielleicht eine andere Möglichkeit, dies zu lösen.
Ich denke der Hauptvorteil ist, dass Sie immer eine logische Reihenfolge von 1,2,3,4 anstelle von allem anderen haben würden, wenn Ihr JavaScript gut geschrieben ist.
ja aber dann würde ich die Reihenfolge für alle Elemente jedes Mal neu berechnen müssen, ich bin mir nicht sicher, dass ich das tun möchte – DFectuoso
müssen Sie die Reihenfolge jedes Mal aktualisieren, wenn Sie eine Drag & Drop-Änderung vornehmen. Wann immer Sie die Webseite erneut laden (auf jedem Computer), werden Sie sie über das neue Bestellfeld bestellen. Die Sache ist, dass Sie es nicht in einem Cookie speichern können, weil es etwas permanent – fesja
ist Ich weiß, dass ich etwas in der db speichern muss, aber ich könnte die Reihenfolge aller Liste (Komma getrennt) in einer anderen Tabelle und wann auch immer php lädt diese Werte einfach mit der Reihenfolge der Liste, aber ich möchte wissen, ob jemand eine andere Idee hat – DFectuoso