Frage

Ich habe ein Dilemma und könnte wirklich Ratschläge verwenden. Ich baue ein Bestellsystem mit PHP/Smarty/HTML/JQuery. Derzeit wird an der Website gearbeitet, auf der der Verkäufer Bestellungen bestätigt.

Ich muss 3 Divs haben.

  1. Wartenbestellungen Div - enthält einen Tisch mit unverarbeiteten Bestellungen
  2. Letzte Bestellungen Div - enthält eine Tabelle mit zuletzt verarbeiteten Bestellungen (10-20 Zeilen)
  3. Details Div - enthält Informationen zur Bestellung und Schaltflächen, um zu bestätigen/abzulehnen

Es ist eine typische Master-Detail-Situation, nur der Master ist in 2 Teile (1,2) aufgeteilt, und Details sind in Div 3 aufgeteilt. Natürlich ist alles mit JavaScript/Ajax verbunden, damit der Benutzer das "Echtzeit" -Feeling erhalten kann. Wartenbestellungen Div wird über Kometen (langwierige) Technik gefüllt.

Mein Dilemma ist, wie Sie die Divs mit JavaScript/Ajax verbinden. Sollte ich Echo -Seiten erstellen, die dem DB -Zustand entsprechen und die vollständig in Divs laden. Oder sollte ich nur die Tischreihen manipulieren und AJAX nur für Hintergrund -DB -Anrufe verwenden?

Um mich klarer zu machen:

Option 1 (AJAX Complete Pages):

  • Wenn der Benutzer die Warteschläge auswählt, wird eine neue Seite (Echoed Tabelle) mit AJAX abgerufen und in Details Div geladen
  • Wenn der Benutzer die Reihenfolge in Div 3 bestätigt/ablehnt, werden Divs 1 und 2 mit AJAX aktualisiert (Echo -Seiten mit Tabellen, die dem Status in DB entsprechen)

Option 2 (HTML Manipulation/Hintergrund Ajax):

  • Wenn der Benutzer die wartende Reihenfolge auswählt, sind Elemente von Div 3 mit neuem Wert gefüllt.
  • Wenn der Benutzer in der Reihenfolge in Div3 bestätigt/ablehnt, wird TR aus der Tabelle in Div 1 entfernt (Hintergrund AJAX zu DEL von DB) und derselbe TR wird in Div 2 (Hintergrund AJAX zum DB einfügen) hinzugefügt.

Also, welchen Weg zu gehen?

War es hilfreich?

Lösung

Beide Wege sind Akzeptanz, aber NR 1 ist aufgrund von Reload Div 1 & 2 weniger benutzerfreundlich. Wenn Sie etwas in Div 3 laden, haben Sie seine ID, daher sollte es ein Problem sein, TR zu kopieren / anzuhängen (und Farbe hinzuzufügen, damit der Benutzer weiß, was passiert ist).

Wenn Sie 2 auswählen, denken Sie daran, neue Aktionen an Ihre TR -Elemente zu entbinden / zu binden, denn wenn Sie Ihren TR an einen anderen Ort verschieben, wird dies nicht zuvor von Ihnen gebetene Aktionen ausgelöst.

Ich würde wahrscheinlich mit 2 selbst gehen;)

Ps. Fügen Sie Overlay mit Ajax Loader hinzu (http://ajaxload.info/), um auf der sicheren Seite von Benutzerumrechten zu sein, während Sie Daten in Div 3 laden. Der Benutzer wird auch glücklicher, weil er weiß, dass etwas los ist;)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top