Devo realizzare una pagina in cui vengono mostrate due tabelle di dati affiancate (le tabelle mostrano dei parametri campionati ogni giorno quindi all'inizio ho i dati di oggi e di ieri), deve però essere possibile "scorrere" indietro nel tempo caricando la tabella dell'altroieri e così via!
Ho pensato quindi di leggere l'ID (autogenerato ogni inserimento) della tabella di sinistra, sottrarre 1 e far stampare i risultati della query al database!
Questo metodo funziona, ma solo la prima volta che premo il pulsante! Se lo ri-premo ottengo di nuovo il valore e se lo premo un'altra volta ottengo sempre "-1"!
Faccio un esempio:
Ho fatto 6 campionamenti, quindi all'accesso della pagina avrò:
tabella con ID 5 | tabella con ID 6
Premo il pulsante ed ottengo:
tabella con ID 4 | tabella con ID 5
premo ancora:
tabella con ID 4 | tabella con ID 4 (qui ID non si è decrementato e non so come mai, lo script lato server ha fatto il suo lavoro restituendo la tabella con ID = 4)
premo ancora:
errore: nessuna tabella con ID -1 | tabella con ID 4
Probabilmente risolverei con le chiusure ma non sto riuscendo a capire come implementarlo!
Il codice che uso è il seguente:
codice:
function shiftami(){
var testo = $("#tabSN").html();
$("#tabelle").empty();
var livello = eval($("#tabDX_id").html()) -1;
// Richiedo i dati allo script lato server
$.post("search/shift.php", {l: livello}, function(data) {
$("#tabelle").html('<div class=\"tabelladati\" id=\"tabDX\"><table border=1><thead><tr><th>Parametro</th><th>Dato</th></tr></thead><tbody>' + data + '</tbody></table></div><div class=\"tabelladati\" id=\"tabSN\">' + testo + '</div>');
}
}
Avete consigli?
Eventualmente ho pensato di realizzare invece di questo metodo un qualcosa tipo un accordion orizzontale, ma dovrei capire come viene quando avrò 6 mesi di rilevazioni e soprattutto cercare di visualizzare sempre due tabelle (quindi due "cassetti" dell'accordion)
Insomma, se esiste un metodo più furbo per ottenere il risultato ditemelo per favore!