Ciao

come gia detto sono alle prime armi e sono ancora inesperto e confuso.
Mi imbatto di continuo in nuovi problemi e ora sono alle prese con la realizzazione di query parametriche all'interno di un ciclo.

Prima spiego in italiano poi posto il codice. Ho una tabella che memorizza le timbrature che un utente fa giornalmente. Poi devo farle vedere, tutto qui.
So gia che non sto facendo le cose esattamente come dovrei (discorso normalizzazione tabelle ecc ecc) ma per ora va bene cosi. Tanto è solo un test.

La prima query prende il primo giorno che trova in tabella. Poi in base a quello estraggo, con la seconda query, i quattro record relativi (timbro al mattino, pausa pranzo, rientro dalla pausa, e uscita serale) e li voglio mostrare a video. Il problema è qui.
Il problema è che ho messo la seconda query in un ciclo. Ma il ciclo e la query hanno due vite separate. Il ciclo "cicla" x i fatti suoi e poi quando ha finito, esegue la query che è al suo interno passandole però l'ultimo valore. Per cui mi ritrovo con una select cosi:

SELECT ingresso, uscita FROM ORARIO where giorno ='24-1-13'
SELECT ingresso, uscita FROM ORARIO where giorno ='24-1-13'
SELECT ingresso, uscita FROM ORARIO where giorno ='24-1-13'


anziche

SELECT ingresso, uscita FROM ORARIO where giorno ='21-1-13'
SELECT ingresso, uscita FROM ORARIO where giorno ='22-1-13'
SELECT ingresso, uscita FROM ORARIO where giorno ='23-1-13'


in queto modo chiaramente, leggo sempre e solo i dati relativi all'ultimo giorno. Ho provato ad ovviare a questo problema ma non ci riesco.


Vi posto un estratto di codice per cui lasciamo perdere eventuali parentesi mancanti , punti e virgola e altre dimenticanze

codice:
db.transaction (function(tx)
		{						
			
			tx.executeSql ("SELECT DISTINCT(giorno) FROM ORARIO ORDER BY id", [], function (tx,results)		
			{		
				// Faccio le query in base al giorno	 
				var num_record = results.rows.length;  // restituisce il numero dei record presenti
				
				for (var i = 0; i < num_record ; i ++)
				{
					// per ogni giorno mi tiro fuori le timbrature
					
					var oggetto  = results.rows.item(i);
					var giorno   = oggetto.giorno;								
					 
					giorni[i] = giorno;
				}
				
				lunghezza = giorni.length;   // numero giorni coinvolti nella tabella							
				
				
					db.transaction (function(tx2)
					{
						
						for (var x = 0 ; x < lunghezza ; x ++ )
						{	
											 
							
							sql = "SELECT DISTINCT(giorno) FROM ORARIO WHERE giorno ='" + giorni[x] + "'";
							 
							tx2.executeSql (sql, [], function (tx,results)		
							{
							
								alert(sql);
							});
							
							 
								
						}
					});