Quote Originariamente inviata da carloscara Visualizza il messaggio
Certamente...
con PHP più o meno me la cavo ma il problema credo risieda ancora qui.

Ho aggiunto un passaggio intermedio, in pratica invece di salvare subito su mySQL, salvo prima in locale su SQLite, poi con un'altra funzione lo "estrapolo" e lo carico su mySQL tramite PHP.

All'interno del ciclo ho inserito questa funzione:

codice:
db.transaction(function(tx) {    tx.executeSql("INSERT INTO tabella (campoA, campoB, campoC, campoD) VALUES (?,?,?,?)", [valA, valB, valC, valD], function(tx,res){
       alert("database aggiornato");
});
}, function(err){
    alert("errore");
});
Per funzionare funziona... il problema e' che il codice sopra postato lo eseguo 100 volte. Se ci fosse un modo per eseguirlo in una volta sola sarebbe il massimo.
Magari in questo caso non succede niente (essendo in locale) ma se genero 100 richieste http in pochi secondi non è il massimo.

Spero di aver chiarito meglio il problema.

Grazie
devi costruire appunto la query in un ciclo foreach.

normalmente sarebbe

codice:
insert into table (a,b,c) values ('a','b','c')
devi quindi fare in modo di avere

codice:
insert into table (a,b,c) values ('a','b','c'),('a','b','c')
ora devi vedere come realizzare la seconda stringa ma penso che ti basti vedere la documentazione della classe che usi per interagire col db.

solo un consiglio: non ha senso fare le cose prima in locale e poi in remoto. è un doppio lavoro inutile.