Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    inserimento record tabella mysql

    Salve a tutti; ho un problema inerente all'inserimento di record in tabelle db mysql.
    Ho creato un applicazione aziendale che gestisce i corsi di formazione del personale;
    vengo al dunque.
    lato client:
    il capo ufficio inserisce il/i corso/i e i partecipanti, in tabelle distinte correlate dell'id_ordine e id_capoufficio,
    si stampa a video(select delle tabelle) l'inserimento avvenuto e se tutto ok si clicca su conferma.

    lo script esegue:
    - controllo della tabella partecipanti che non sia vuota;
    - select della tabella ordine corso;
    - select della tabella partecipanti;
    - inserimento in altre rispettive tabelle dei recods selezionati precedentemente;
    - cancellazione dei records selezionati dalle tabelle di origine;

    lo script funziona solo se si inseriscono n.1 o n.2 due corsi con un max di n.3 partecipanti per ordine(corso);
    superando i n.records di inserimento si perdono i dati da entrambe le tabelle,
    sia su quelle tabelle dove sono stati selezionati che su tabelle che dovevano avvenire l'inserimento.

    ho provato ad aumentare il valore delle seguenti impostazioni nel file php.ini:
    max_execution_time da 60 a 180 e memory_limit da 8 a 200.
    nel file di configurazione x il database ho inserito questo valore set_time_limit(3600);che aumenta il tempo di esecuzione dello script
    ma senza alcu esito.


    tutte le pagine sono state inserite le sessioni.

    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non credo proprio che per questione di 3 record invece che 2 ci possa essere un problema di timeout o consumo totale della memoria.

    Il problema penso che sia nel codice che hai scritto, non è che c'è una qualche condizione per cui se ci sono più di 2 record da inserire qualche ciclo ti va in loop e non termina mai?

  3. #3

    riporto il codice dello script

    @include_once("../../class/session_login_cuff.php"); //file di configurazione sessioni
    @include_once("../../class/config.php"); //file di configurazione datario e funzioni titolo
    @include_once("admin_reserv.php"); //file di configurazione funzioni viste tabelle
    @include_once("admin_reserv_select.php");//file di configurazione funzioni select
    @include_once("con_db.php"); //file di configurazione connessione database

    $nome_CapoUfficio = $_SESSION['nome'];
    $id_CapoUfficio = $_SESSION['id_cuff'];


    if(isset($_POST['conferma'])){


    //variabile di controllo
    $error=false;
    $id_ordine = $_POST['id_ordine'];

    //controllo se è stato selezionato il corso
    if(!isset($id_ordine)){
    $error_chekbox=1;
    //$conferma=1;
    $error=true;
    }

    if($error==false){
    /*con il ciclo foreach si estrapola l'id dei corsi selezionati si creano
    le query di selezione degli ordini preiscrizione
    e i relativi dettagli, poi si inserisce i/il corsi e dettagli selezionati
    nella tabella ordini_corsi_capuff e dett_ordini_corsi_capuff,
    e per ultimo si cancellano i corsi e dettagli dalle tabelle d'origine*/

    foreach($id_ordine as $valore=>$indice){

    $sql_check_corsi=@mysql_query("SELECT * FROM dett_preiscrizioni WHERE id_ordini_corso='$indice' AND id_capUff='$id_CapoUfficio'" )
    or die("impossibile eseguire la query $sql_corsi_avviati".mysql_error());

    $num_check_corsi = mysql_num_rows($sql_check_corsi);

    if($num_check_corsi==0){
    $error_dett=1;
    /*$msg=" - NESSUN CANDIDATO INSERITO- ";

    echo"<tr><td align='center' colspan='11' valign='center'><font color='#330066' size='3'>$msg</font></TD></TR>";*/
    $error=true;

    }


    IF($error==false){


    //seleziona il corso dalla tabella preiscrizioni
    $sql_corsi_ordini=@mysql_query("SELECT * FROM ordini_preiscrizioni WHERE id_ordini_corso='$indice' AND id_capUff='$id_CapoUfficio'" )
    or die("impossibile eseguire la query $sql_corsi_ordini".mysql_error());
    while($righe=mysql_fetch_row($sql_corsi_ordini)) {
    $s_id_ordine = $righe[0];
    $s_id_tpg_corso = $righe[1];
    $s_codice = $righe[2];
    $s_descrizione = $righe[3];
    $s_stato_ordine = $righe[4];
    $s_capoUff = $righe[5];
    $s_idCapoUff = $righe[6];

    $s_entescuola_format=addslashes($s_entescuola);
    $s_descrizione_format=addslashes($s_descrizione);
    $s_capoUff=addslashes($s_capoUff);

    //inserisco i corsi nella tabella ordini_corsi_capuff (tabella area segreteria).
    $sql_insert_ordini_capuff=@mysql_query("INSERT INTO ordini_corsi_capuff
    VALUES
    ( '',
    '$s_id_ordine',
    '$s_id_tpg_corso',
    '$s_codice',
    '$s_descrizione_format',
    '$s_stato_ordine',
    '$s_capoUff',
    '$s_idCapoUff')",$conn)
    or die ("imposibile eseguire la query prova $sql_insert_ordine".mysql_error());
    //fine query di inserimento

    } //fine ciclo where query select e insert ordini



    $sql_dett_ord_corso=@mysql_query("SELECT * FROM dett_preiscrizioni WHERE id_ordini_corso='$indice' AND validatore='$s_capoUff' ")
    or die("Impossibile eseguire la query prova$sql_dett_ord_corso".mysql_error());
    while($righe=mysql_fetch_row($sql_dett_ord_corso)) {
    $up_id = $righe[0];
    $up_id_ord_corso = $righe[1];
    $up_id_tpgcorso = $righe[2];
    $up_id_imp = $righe[3];
    $up_grado = $righe[4];
    $up_area =$righe[5];
    $up_titolo =$righe[6];
    $up_nome = $righe[7];
    $up_cognome =$righe[8];
    $up_ente = $righe[9];
    $up_priorita = $righe[10];
    $up_validatore = $righe[11];
    $up_id_capUff = $righe[12];
    $up_ufficio = $righe[13];
    $up_data_ins = $righe[14];

    //formatto le stringhe
    $up_grado_format = addslashes($up_grado);
    $up_area_format = addslashes($up_area);
    $up_titolo_format = addslashes($up_titolo);
    $up_nome_format = addslashes($up_nome);
    $up_cognome_format = addslashes($up_cognome);
    $up_ente_format = addslashes($up_ente);
    $up_validatore_format = addslashes($up_validatore);

    //converto la data in IT
    $up_data_ins_it = date('d-m-Y', strtotime(str_replace('-', '/', $up_data_ins)));

    //inserimento dettagli corsi ordini capufficio
    $sql_insert_candidato=@mysql_query("INSERT INTO dett_ordini_capuff
    VALUES ( '',
    '$up_id_ord_corso', $up_id_tpgcorso',
    '$up_id_imp', '$up_grado_format', '$up_area_format', '$up_nome_format',
    '$up_nome_format',
    '$up_cognome_format',
    '$up_ente_format',
    '$up_priorita',
    '$up_validatore_format',
    '$s_idCapoUff',
    '$up_ufficio',
    '$up_data_ins')",$conn)
    or die("Impossibile eseguire la query candidato".mysql_error());
    }////fine ciclo where query select e inserimento dettagli




    }//fine ciclo foreach inserimento
    }
    }//fine if inserimento


    //cancello i corsi e i dettagli preiscrizioni nelle rispettive tabelle
    if($error==false){
    foreach($id_ordine as $valore=>$indice){ $cancel_preiscrizione=@mysql_query("DELETE FROM ordini_preiscrizioni WHERE id_ordini_corso='$indice' AND id_capUff='$id_CapoUfficio'")
    OR DIE("Impossibile eseguire la query delete".mysql_error());

    }//fine ciclo foreach ordini
    }//fine if dettagli
    if($error==false){
    foreach($id_ordine as $valore=>$indice){
    //echo"$indice
    ";
    //is_int($indice[$j]);
    $cancel_dett_preiscrizione=@mysql_query("DELETE FROM dett_preiscrizioni WHERE id_ordini_corso='$indice' AND id_capUff='$id_CapoUfficio'")
    OR DIE("Impossibile eseguire la query delete".mysql_error());
    }

    mysql_close($conn);
    header("Location:corsi_capuff_confirm.php");


    }//fine if dettagli








    }//fine isset


    grazie

  4. #4

    inserimento records

    Grazie per il consiglio

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.