Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371

    Import Dati $ajax in tilt

    sto facendo importazione dati attraverso questa funzione.
    codice:
    function sendTblDataToServer(){
           var TableData;
           TableData = $.toJSON(storeTblValues());
          $.ajax({
        	 type: "POST",
    	     url: "../php/importdata.php",
    	     data: "pTableData=" + TableData,
                 success: function(msg){
                   alert('Importazione Terminata...'+msg);
    	        },
    	        error : function(){
                   alert('ERROR');
              }
           });
       }

    il tutto sembra funzionare molto bene....
    il file php che richiama se lanciato da solo
    ricevo al termine
    Record Aggiornati = 0
    Record Inseriti = 15
    Errore Aggiornamento = 0
    Errore Inserimento = 0
    ma non ricevo alert da parte della funzione SUCCESS: per quale motivo ?

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,509
    devi vedere nella console. non puoi dire che funziona bene. secondo me hai qualche errore ma è difficile dirlo con un solo pezzo di script
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    devi vedere nella console. non puoi dire che funziona bene. secondo me hai qualche errore ma è difficile dirlo con un solo pezzo di script
    lo script è questo e come nel risultato importa correttamente tutti e 15 i record

    codice:
    $data = json_decode($data);
    $CountUpdata=0;
    $CountIndata=0;
    $ErrUpdateData=0;
    $ErrInsertData=0;
    foreach($data as $value ){
      if(substr($value->wbs, 0,3)=="WBS"){
         $query = "SELECT * FROM mytab WHERE id ='".$value->id."'";
         $result = mysqli_query($connect, $query);
         if ($result === false) {
             echo "ERRORE CONNESSIONE DATABASE: " . mysqli_error($connect);
         }
         if (mysqli_num_rows($result)>0)
         { //AGGIORNA RECORD ESISTENTE
            $sql=UpdateData($value);
            if($connect->query($sql) === TRUE){
              $CountUpdata=$CountUpdata+1;
            }
            else
            {
              $ErrUpdateData=$ErrUpdateData+1;
            }
         }
         else
         { //INSERISCI NUOVO RECORD
            $sql=InsertData($value);
            if($connect->query($sql) === TRUE){
              $CountIndata=$CountIndata+1;
            }
            else
            {
              $ErrInsertData=$ErrInsertData+1;
            }
         }
      }
    }
    
    
    echo "Record Aggiornati = " .$CountUpdata."</br>Record Inseriti = ".$CountIndata."</br>Errore Aggiornamento = " .$ErrUpdateData."</br>Errore Inserimento = ".$ErrInsertData;
    
    
    //FUNZIONE AGGIUNGI NUOVO RECORD
    function InsertData($data){
       $sql = "INSERT INTO .....";
       return $sql;
    }
    
    
    //FUNZIONE AGGIORNA RECORD
    function UpdateData($data){
       $sql = "UPDATE ....";
       return $sql;
    }

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,509
    non serve lo script php serve lla pagina html in cui è incluso js
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    nel file html ho un semplice modal form che mi mostra i dati a video e poi invia i record.
    codice:
      <div id="add_data_Modal" class="modal fade bd-example-modal-lg" style="font-size:10px;">          <div class="modal-dialog center">
                   <div class="modal-content">
                        <div class="modal-header">
                             <h4 class="modal-title">Dati che verranno Importati</h4>
                             <button type="button" class="close" data-dismiss="modal">&times;</button>
                        </div>
                        <div class="modal-body" style="width:100%">
                           <form method="post" id="insert_form" name="insert_form" class="needs-validation" novalidate>
                                 <div id="result" style="width:100%"></div>
                                 <div class="modal-footer">
                                   <button type="submit" class="btn btn-success" name="insert" id="insert" value="Insert"/><i class="fa fa-refresh"></i> Importa Dati</button>
                                   <button type="button" class="btn btn-dark" data-dismiss="modal"><i class="fa fa-sign-out"></i> Esci</button>
                                </div>
                          </form>
                        </div>
                  </div>
            </div>
        </div>
      </div>
    scusa (giusto per capire) ma se a video stampo il Json "Tabledata" prima di inviarlo è corretto ..... i dati arrivanno al file php in maniera corretta, vengono inseriti nel db in maniera corretta... cio che non torna indietro il messaggio di risposta....cosa puo esserci sbagliato nel file html??
    domanda ma non è che il processo php è piu lento della risposta lato client e genera questo ??
    non è consigliabile mettere una progress bar per vedere il processo agire ???


    unica cosa anomala che vedo nella console che il file php è rosso come se in errore spero possa aiutarti..



      • Request URL:
        http://localhost:81/proj/php/importdata.php
      • Referrer Policy:
        no-referrer-when-downgrade

    • Request Headers
      • Provisional headers are shown
      • Accept:
        */*
      • Content-Type:
        application/x-www-form-urlencoded; charset=UTF-8
      • Origin:
        http://localhost:81
      • Referer:
        http://localhost:81/proj/pages/import.html
      • User-Agent:
        Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
      • X-Requested-With:
        XMLHttpRequest


    senza nulla risposta..

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,509
    se non hai errori in console....ti chiedo ma

    $data = json_decode($data)


    $data come lo valorizzi??

    io ho l'impressione tu faccia la chiamata in post ma forse si attende get? Anche perchè se la fai da browser direttamete è get
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    lo valorizzo con

    $data= $_POST["pTableData"];

  8. #8
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,509
    e come fa a funzionarti se lo fai dal browser?

    fai un dump della variabile in php e vedi se è valorizzata
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Grazie Ciro...

    ho fatto ulteriori verifiche .....si blocca a questa altezza
    __________________
    $query = "SELECT * FROM tb_pianifica WHERE wbs ='".substr($value->wbs,3)."'";
    $result = mysqli_query($connect, $query);
    __________________
    anche se blocca è un parolone in quento
    viene eseguito tutto completamente e correttamente ho importato un file di oltre 1000 righe ...tutte perfette
    importato tutto ma non so come se rimanesse appeso e non arriva al messaggio finale
    se remmo la parte dentro il ciclo arriva il messaggio finale correttamente....cosa sbaglio.



    codice:
    foreach($data as $value ){
      if(substr($value->wbs, 0,3)=="WBS"){
         $query = "SELECT * FROM tb_pianifica WHERE wbs ='".substr($value->wbs,3)."'";
         $result = mysqli_query($connect, $query);
         if ($result === false) {
             echo "ERRORE CONNESSIONE DATABASE: " . mysqli_error($connect);
         }
         if (mysqli_num_rows($result)>0)
         { //AGGIORNA RECORD ESISTENTE
            $sql=UpdateData($value);
            if($connect->query($sql) == TRUE)
            {
              $CountUpdata=$CountUpdata+1;
            }
            else
            {
              $ErrUpdateData=$ErrUpdateData+1;
            }
         }
         else
         { //INSERISCI NUOVO RECORD
            $sql=InsertData($value);
            if($connect->query($sql) === TRUE)
            {
              $CountIndata=$CountIndata+1;
            }
            else
            {
              $ErrInsertData=$ErrInsertData+1;
            }
         }
      }
    };
    echo '<pre>';
    echo "Record Aggiornati = " .$CountUpdata."</br>Record Inseriti = ".$CountIndata."</br>Errore Aggiornamento = " .$ErrUpdateData."</br>Errore Inserimento = ".$ErrInsertData;
    echo '</pre>';
    
    //FUNZIONE AGGIUNGI NUOVO RECORD
    function InsertData($data){
       $sql="INSERT INTO tb_pianifica (wbs,cons_eff,pianificato,budget,eff_tot,residuo_oda,disposto,disponibile,npp,anno,id_Status) VALUES ('".substr($data->wbs,3)."','" .str_replace(',','.',str_replace('.','',$data->cons_eff)). "','" .str_replace(',','.',str_replace('.','',$data->pianificato)). "','" .str_replace(',','.',str_replace('.','',$data->budget))."','".str_replace(',','.',str_replace('.','',$data->eff_tot))."','".str_replace(',','.',str_replace('.','',$data->residuo_oda))."','".str_replace(',','.',str_replace('.','',$data->disposto))."','".str_replace(',','.',str_replace('.','',$data->disponibile))."','".substr($data->wbs, 3,4)."','".substr($data->wbs, 8,4)."','1')";
       return $sql;
    };
    
    
    //FUNZIONE AGGIORNA RECORD
    function UpdateData($data){
       $sql = "UPDATE tb_pianifica SET cons_eff='".$data->cons_eff."', pianificato='".$data->pianificato. "' WHERE wbs=".$data->wbs;
       return $sql;
    };

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    per questo ti dico che il problema secondo me sta nel file php e non in quello html.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.