Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1

    errore insert dati da foreach

    ciao a tutti...

    mi appare questo errore in output...
    non riesco a capire dove si trova l'errore...

    Fatal error: Maximum execution time of 30 seconds exceeded in c:\programmi\apache group\apache\htdocs\gestionale_homi\insert.php on line 105


    vi posto il codice...

    if ($submit == 'Salva')
    {



    foreach($_POST['data'] AS $key => $data1)
    {


    foreach($_POST['ora'] AS $key => $ora1)
    {


    foreach($_POST['ospite'] AS $key => $ospite1)
    {


    foreach($_POST['addebito'] AS $key => $addebito1)
    {


    foreach($_POST['importo'] AS $key => $importo1)
    {


    foreach($_POST['camera'] AS $key => $camera1)
    {


    foreach($_POST['cameratrx'] AS $key => $cameratrx1)
    {


    } //chiudi ciclo for

    } //chiudi ciclo for

    } //chiudi ciclo for

    } //chiudi ciclo for

    } //chiudi ciclo for

    } //chiudi ciclo for

    } //chiudi ciclo for

    //insert di tutti i trx

    $insert = "insert into trx (data_Trx,data_Import,ora_trx,ospite,addebito,impo rto,camera,camera_trx)
    values ('$data1','$dataimport','$ora1','$ospite1,'$addebi to1','$importo1','$camera1','$cameratrx1')";

    $insert = mysql_query ($insert) or die (mysql_error());


    echo "<script language> window.alert(\"Import effettuato con successo\");
    </script>";

    echo "<script language> window.location='import.php?login=$username' </script>";



    } //chiusura ifsubmit



    else
    {

    }


    ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    sei sicuro che i foreach vadano annidati uno dentro l'altro?

  3. #3
    ti spiego..

    inizialmente avevo fatto una cosa del genere :

    foreach($_POST['data'] AS $key => $data1)
    {
    $insert = "insert into trx (data_Trx,data_Import)
    values ('$data1','$dataimport')";
    } //chiudi ciclo for


    foreach($_POST['ora'] AS $key => $ora1)
    {
    mysql_query ("update trx set ora_trx = '$ora1' where id_trx = '$key' ");
    } //chiudi ciclo for

    // e così via anche per le altre variabili in foreach

    così diciamo mi funziona egregiamente...

    il problema qual'è, utilizzando questa soluzione?

    semplice... se l'utente ributta dentro gli stessi dati... mi si crea un nuovo insert... ma gli update vanno a modificare i dati precedentemente inserti.. nn so se mi sono spiegato bene...

    l'insert con il where id_trx = '$key' .... ovviamente nn funge...
    per cui l'unica soluzione rimanente, è appunto fare un insert totale delle variabili... ma purtroppo così nn funziona...

  4. #4
    L'errore ti dice che hai messo troppo tempo.
    Puoi aumentare il parametro di apache.
    Però probabilmente quei cicli for annidati sono errati.

    Normalmente se non si vuole che un dato sia reinserito se c'é già si controlla se c'é prima di inserirlo.

  5. #5
    concordo con te su questo...
    che è necessario un check prima di inserire i dati...

    cmq nn credo sia necessario modificare il time di apache...

    dimmi cortesemente perchè il cicli for sono errati...


  6. #6
    Dipende cosa vuoi fare, io penso che di ognuno hai un solo valore, quindi i cicli non servono a niente:



    codice:
    $data1 = $_POST['data'];
    $ora1 = $_POST['ora'];
    $ospite1 = $_POST['ospite'];
    ...

    e poi:

    codice:
    $insert = "insert into trx (data_Trx,data_Import,ora_trx,ospite,add
    ebito,importo,camera,camera_trx) 
    values ('$data1','$dataimport','$ora1','$ospite
    1,'$addebito1','$importo1','$camera1','$
    cameratrx1')";

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    perchè scaturisci dei cicli assurdi, per ogni valore del primo post cicli il secondo, per ogni ciclo del primo e del secondo cicli il terzo ecc. ecc.

    è un errore esponenziale...

  8. #8
    scusa margherita...
    ma se uso il foreach... ci sarà un motivo...
    non è che metto foreach a iosa....

    il motivo è che le variabili sono array...
    che devo trattare e attraversare... e questo tramite appunto foreach

  9. #9
    Originariamente inviato da gianiaz
    perchè scaturisci dei cicli assurdi, per ogni valore del primo post cicli il secondo, per ogni ciclo del primo e del secondo cicli il terzo ecc. ecc.

    è un errore esponenziale...
    :master:
    tu dici ... "fai un ciclo, lo chiudi, e poi ne apri un altro per il secondo dato e lo chiudi..e via dicendo"...

    ho capito bene?

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    credo di si, ma dipende da cosa hai messo in quelle variabili, se sono array monodimensionali di sicuro.

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.