Domanda

Ho un dilemma e potrei davvero usare alcuni consigli. Sto costruendo un sistema di ordinazione con PHP/Smarty/HTML/jQuery. Attualmente lavora sul sito in cui il venditore confermerà gli ordini.

Devo avere 3 div.

  1. Ordini in attesa Div - Contiene una tabella con ordini non trasformati
  2. Ultimi ordini Div - Contiene una tabella con gli ultimi ordini elaborati (10-20 righe)
  3. Dettagli Div - Contiene informazioni sull'ordine e i pulsanti per confermare/declinare

È una tipica situazione di detail principale, solo il master è diviso in 2 parti (1,2) e i dettagli sono in Div 3. Naturalmente tutto è collegato a JavaScript/Ajax in modo che l'utente possa ottenere la sensazione "in tempo reale". Ordini di attesa Div è riempito tramite tecnica di cometa (impollimento lungo).

Il mio dilemma è come collegare i Div con JavaScript/Ajax. Dovrei fare pagine di eco che corrispondono allo stato DB e caricano completamente i div. O dovrei manipolare solo le righe della tabella e usare AJAX solo per le chiamate DB di fondo?

Per chiarire me stesso più chiaro:

Opzione 1 (pagine complete di Ajax):

  • Quando l'utente seleziona l'ordine di attesa, la nuova pagina (tabella ecota) viene recuperata con Ajax e caricata in dettagli div
  • Quando l'utente conferma/diminuisce l'ordine in Div 3, i div 1 e 2 vengono aggiornati con AJAX (pagine di eco con tabelle che corrispondono allo stato in DB)

Opzione 2 (manipolazione HTML/background AJAX):

  • Quando l'utente seleziona l'ordine di attesa, gli elementi di Div 3 vengono riempiti con nuovo valore.
  • Quando l'utente conferma/diminuisce nell'ordine in Div3, TR dalla tabella in Div 1 viene rimosso (Background Ajax a DEL da DB) e lo stesso TR viene aggiunto in Div 2 (in background Ajax per inserire in DB)

Quindi da che parte andare?

È stato utile?

Soluzione

Entrambi i modi sono accettabali, ma NR 1 è meno intuitivo, a causa di ricarica Div 1 e 2. Quando carichi qualcosa in Div 3, hai il suo ID, quindi dovrebbe essere un problema copiare / aggiungere TR (e aggiungere colore, quindi l'utente sa cosa è successo).

Se scegli 2, ricordati di bloccare / legare nuove azioni ai tuoi elementi TR, perché quando si sposta il tuo TR in un altro posto, non attiverà azioni che hai legato in precedenza.

Probabilmente andrei con 2 io stesso;)

Ps. Aggiungi overlay con il caricatore Ajax (http://ajaxload.info/), per essere al sicuro dalle interruzioni degli utenti, mentre si carica i dati in Div 3. Anche l'utente sarà più felice, perché saprà che sta succedendo qualcosa;)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top