• User Newbie

    Eseguire due script per MySql in fila

    Salve a tutti!
    Vorrei una delucidazione riguardo ad un mio problema in PHP&MySQL.
    Ho una pagina WEB con dei campi text ed un pulsante che richiama una function in javascript (con onclick). Questa function avvia dei files php per il salvataggio dei dati delle text : alcuni dati vanno in un database, altri in un altro database. Nella function ci sono due chiamate a due script php diversi - script1.php e script2.php - fatte in questo modo :

    url = "script1.php"; location.replace(url);
    url = "script2.php"; location.replace(url);

    Il mio problema e' che mi funziona solo il secondo script; una soluzione l'ho trovata mettendo un alert dopo la prima riga :

    url = "script1.php"; location.replace(url); alert("Primo script");

    E' come se MySql non facesse in tempo a salvare i risultati del primo script, prima di avviare l'altro. Alert rallenta un po' l'esecuzione, evidentemente. Come posso ovviare al problema, evitando gli alert?
    Grazie.


  • User Newbie

    Rieccomi. Ho ristretto un po' l'ambito del mio problema. Cio' che non funziona e' una insert multipla che ho nel codice in javascript :

    for (t=0; t<3; t++) {
    url = "script.php?campo1=" + document.form.associati.options.value;
    location.replace(url);
    }
    (l'insert, ovviamente, e' nello script.php ed e' singola)
    Se dopo la location metto un alert, va tutto bene. E' lento Mysql o PHP?
    Ciao


  • Moderatore

    Aspè non ho capito:
    tu hai una pagina e metti due location.replace?

    Ci credo che non funziona... la vuoi mandare in due parti diverse.
    Non riesci a far fare tutto alla stessa pagina php? 🙂


  • User Newbie

    Ciao, adesso ti spiego tutto (spero meglio di quanto ho fatto prima) :

    ho una pagina in html con un form, dei campi text e un campo select (una lista);
    in questa lista inserisco dei valori;
    ho un button per il salvataggio, che mi avvia una function in javascript;
    la function non fa altro che salvare i dati contenuti in questi campi passandoli come parametri allo script1.php (script1.php?val1=v1&...ecc.);
    questo script salva un record nella tabella1 di un database mysql, mettendoci i campi delle text che gli ho passato;
    fin qui nessun problema;
    la lista select viene passata, invece, allo script2.php ma una riga alla volta;
    lo script2.php salva un record, per ogni riga della lista, nella tabella2 del database; questo avviene tramite un ciclo in javascript dalla pagina html;
    cio' che mi succede e' che viene salvato solo l'ultima riga della lista, ignorando le altre;
    se ad ogni salvataggio interrompo con un alert, va tutto bene : come mai?
    E' come se fra un salvataggio di un record e il successivo servisse piu' tempo di quello fornito dal ciclo.
    Se vuoi ti posto tutto il codice. Grazie.