Pagina 5 di 8 primaprima ... 3 4 5 6 7 ... ultimoultimo
Visualizzazione dei risultati da 41 a 50 su 73
  1. #41
    Salve, sono tornato! anche perché i problemi non finiscono mai ahahah mi sono concentrato su questa parte che stavamo vedendo insieme, l'ho riscritta e continua a non funzionarmi adesso posto il codice:

    Codice PHP:
     if (isset($_GET['IDrichiesta'], $_GET['quantity'], $_GET['IDprodotto'], $_GET['productQuantity'])){        
    $idtemp $_GET['IDrichiesta'];  
         
     
    $risultati_mysql mysqli_query($connessione," SELECT quantity,IDprodotto FROM richiesta WHERE IDrichiesta = '$idtemp' ");  

          
    $quantityTemp $_GET['quantity'];        
    $prodottoTemp $_GET['IDprodotto'];   

         
    $risultati_mysql mysqli_query($connessione" SELECT productQuantity FROM prodotto WHERE IDprodotto = '$prodottoTemp' "); 

           
    $prodQuantityTemp $_GET['productQuantity'];  
     
         
    $differenza $prodQuantityTemp $quantityTemp;        

    if(
    $prodQuantityTemp >= $quantityTemp){                

    mysqli_query($connessione" UPDATE prodotto SET productQuantity = '$differenza' WHERE IDprodotto = '$prodottoTemp' ");     

               
    mysqli_query($connessione"DELETE FROM richiesta WHERE IDrichiesta = '$idtemp' ");              
     
     echo 
    "Richiesta Approvata";           

     }else {                echo 
    "Richiesta non approvata";           
     }
        }else {        
     
    echo 
    "non funziona";


    mentre questa è la funzione javascript con la chiamata ajax

    codice HTML:
      function mi(idrichiesta,quantityReq,idprodotto,prodQuantity){ 
               $.ajax({               
     url: 'approva.php',               
     type: "get",               
     dataType: "json",                
    data: {IDrichiesta : idrichiesta,    
                       quantity: quantityReq,  
                        IDprodotto: idprodotto,      
                    productQuantity: prodQuantity},
                    success: function(rispostaServer){   
                     alert(rispostaServer);                                    },
    
                });        }
    i nomi di variabili e tabelle sono diversi poiché ho dovuto scrivere tutto da capo. Cliccando nella tabella nell'html non ricevo alcun output ma soltanto un click a vuoto entrando nel file approva.php mi da "non funziona"
    Ultima modifica di _th3answer; 30-11-2020 a 18:43

  2. #42
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,861
    Ho potuto vedere solo ora. Mi fa piacere comunque che tu sia riuscito a rielaborare il tutto. La situazione però mi pare addirittura regredita rispetto agli ultimi risultati che stavi ottenendo; attualmente il click va a vuoto.

    Direi che devi andare per esclusione in modo da capire in quale punto del processo c'è il problema (o i problemi).

    Prima di tutto verifica sempre se riscontri errori di script nella console del tuo browser.

    Secondo passo, se il click va a vuoto può dipendere dal JavaScript, quindi escludiamo per il momento la parte lato server.

    Non vedo come e dove stai richiamando la funzione; dovrebbe esserci un evento click da qualche parte, giusto?

    Cerchiamo di capire se il problema sta dentro la funzione mi() oppure ancora prima, cioè nella gestione dell'evento click che dovrebbe richiamare la funzione.

    In tal caso può essere sufficiente mettere un alert, o meglio un console.log(), nella prima riga della funzione per capire se la funzione è chiamata correttamente al click (e magari fare nel contempo anche una verifica dei parametri passati a tale funzione):

    codice:
    function mi(idrichiesta,quantityReq,idprodotto,prodQuantity){ 
      console.log("Sono dentro mi() con questi valori: " + idrichiesta +", "+ quantityReq +", "+ idprodotto +", "+ prodQuantity);
    
    // ... resto del codice
    }
    Se il messaggio appare allora possiamo andare avanti ad esaminare la chiamata AJAX; se invece non appare significa che il problema sta a monte, nella chiamata della funzione o nella gestione dell'evento click.

    Ovviamente questo potrebbe essere solo un primo step di vari altri.

    Verifica e fai sapere.



    PS: giusto per informazione, personalmente durante il giorno sono impegnato a lavoro quindi potrò seguire questa discussione solo la sera.
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm spè

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  3. #43
    Non preoccuparti, anzi ti ringrazio per la tua disponibilità! Presumo di aver trovato l'errore

    codice HTML:
    function drawTable(data){                    
         for(var i = 0; i < data.length; i++){
                            drawRow(data[i]); 
                       }
                    }
     function drawRow(rowData) {         
               var row = $("<tr />") 
                $("#vista_richieste").append(row);
                row.append($("<td>" + rowData.IDrichiesta + "</td>")); 
                row.append($("<td>" + rowData.IDutente + "</td>")); 
                row.append($("<td>" + rowData.IDprodotto + "</td>"));  
                row.append($("<td>" + rowData.quantity + "</td>"));  
                row.append($($("<td><button onclick='mi(\"" + rowData.IDrichiesta +"\")'>Approva</button></td>")))                                    
    }
    nell'evento onclick dove richiamo la funzione mi() ho soltanto rowData.IDrichiesta , devo aggiungere anche gli altri parametri giusto?

  4. #44
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,861
    devo aggiungere anche gli altri parametri giusto?
    Certamente, in qualche modo quei dati devono arrivare al tuo PHP che li va a processare; hai predisposto la funzione mi() per ricevere quei 4 argomenti, puoi quindi passarli in questo modo:
    codice:
    function drawRow(rowData) {        
      var row = $("<tr />");
      $("#vista_richieste").append(row);
      row.append($(
         "<td>" + rowData.IDrichiesta + "</td>"
       + "<td>" + rowData.IDutente    + "</td>"
       + "<td>" + rowData.IDprodotto  + "</td>"
       + "<td>" + rowData.quantity    + "</td>"
       + "<td><button onclick='mi(\"" + rowData.IDrichiesta +"\", \"" + rowData.IDutente +"\", \"" + rowData.IDprodotto +"\", \"" + rowData.quantity +"\")'>Approva</button></td>"
      ));
    }
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm spè

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  5. #45
    Ok ok , ho aggiunto gli argomenti nella funzione mi() e inoltre ho fatto la verifica con console.log prima della chiamata ajax appare il messaggio e mi restituisce i valori corretti al click del bottone. Avrei una domanda da farti nella funzione passo un argomento "prodQuantity" che non appartiene alla tabella acquisti ma ad un altra tabella, potrebbe questo non far funzionare il tutto?

  6. #46
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,861
    ho aggiunto gli argomenti nella funzione ... appare il messaggio e mi restituisce i valori corretti
    Bene, quindi fino a questo punto ci siamo, la funzione viene chiamata correttamente.

    un argomento "prodQuantity" che non appartiene alla tabella acquisti ma ad un altra tabella, potrebbe questo non far funzionare il tutto?
    Fammi però capire, ora cos'è che non va?
    La chiamata AJAX viene eseguita?
    Ricevi qualcosa nel success?

    Inoltre non ho capito cosa intendi per "tabella acquisti"; ti riferisci a tabelle del db o parliamo sempre della parte HTML/JavaScript?

    Tieni presente che nel file chiamato da AJAX (cioè approva.php) dovrà esserci tutto l'occorrente per effettuare nuovamente la connessione al db. Non vorrei che tu stessi tralasciando parti necessarie per la corretta esecuzione di quel codice PHP.

    In qualunque caso bisogna verificare che il tuo PHP non presenti errori di sintassi. Se tali errori non vengono segnalati dovrai accertarti di aver abilitato la visualizzazione degli errori; se non sai come fare ti invito a cercare qualche guida; basta una googleata del tipo "abilitare errori php".

    Fatto questo, verifica se l'alert della chiamata AJAX restituisce qualcosa.
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm spè

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  7. #47
    Provo a spiegarmi meglio, quando genero la tabella nel javascript vado a recuperare la tabella acquisti del mio database, l'argomento "prodQuantity" non appartiene a questa tabella acquisti ma ad un'altra tabella del db.

    Mentre nella chiamata AJAX al click non succede nulla nella console js, se può essere d'aiuto posto il codice approva.php

  8. #48
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    4,861
    l'argomento "prodQuantity" non appartiene a questa tabella acquisti ma ad un'altra tabella del db
    Ok, ma questo dato ti serve nel PHP che chiami attraverso AJAX, giusto? Come tu lo vada a pescare nel db è marginale; l'importante è che arrivi a destinazione quando ti serve, cioè nel PHP, non trovi?
    Se nel button viene assegnato correttamente, e quindi arriva correttamente anche alla funzione, non vedo quale sia la tua perplessità sul fatto che tale dato risieda in un'altra tabella.

    Mentre nella chiamata AJAX al click non succede nulla nella console js, se può essere d'aiuto posto il codice approva.php
    Prova pure a postare il codice completo (chiaramente offuscando eventuali dati personali). Ad ogni modo verifica, come ti ho indicato, se il tuo ambiente server è abilitato per restituire gli errori PHP.
    Prima di postare considera che tra i link utili puoi trovare il 75% delle risposte alle tue domande; il 20% tra i post del forum; il 15% sul web.
    Ti resta... humm spè

    Le cattive domande sono quelle che non meritano risposta, le buone domande sono quelle che non hanno risposta
    L'Itailano non e nu'opnioine. E' improntate uslaro correattemtne sul froum. Garize!

  9. #49
    Okok benissimo ho capito tutto. Provo a verificare la cosa che mi hai suggerito e nel frattempo posto il mio codice php. Comunque quando passavo, sia nella chiamata ajax che nella funzione un solo argomento e nel file php andavo ad implementare una sola query il codice funzionava quanto meno dava un segnale

    Codice PHP:
     <?php 

    $nome 
    "*";$nomeuser "*";$password "*";$db_name "*";
    $connessione mysqli_connect($nome,$nomeuser,$password,$db_name);








    if (isset(
    $_GET['IDrichiesta'], $_GET['quantity'], $_GET['IDprodotto'], $_GET['productQuantity'])){       
     
    $idtemp $_GET['IDrichiesta'];        
    $risultati_mysql mysqli_query($connessione," SELECT quantity,IDprodotto FROM richiesta WHERE IDrichiesta = '$idtemp' ");        
    $quantityTemp $_GET['quantity'];        
    $prodottoTemp $_GET['IDprodotto'];        
    $risultati_mysql mysqli_query($connessione" SELECT productQuantity FROM prodotto WHERE IDprodotto = '$prodottoTemp' ");       
     
    $prodQuantityTemp $_GET['productQuantity'];        
    $differenza $prodQuantityTemp $quantityTemp;        
    if(
    $prodQuantityTemp >= $quantityTemp){                
    mysqli_query($connessione" UPDATE prodotto SET productQuantity = '$differenza' WHERE IDprodotto = '$prodottoTemp' ");               
     
    mysqli_query($connessione"DELETE FROM richiesta WHERE IDrichiesta = '$idtemp' ");               
     echo 
    "Richiesta Approvata";            
    }else {                
    echo 
    "Richiesta non approvata";            
    }    }
    else {        
     echo 
    "non funziona";
    }    

    ?>
    Ultima modifica di _th3answer; 01-12-2020 a 23:00

  10. #50
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,340
    Ciao _th3answer ,
    benvenuto sul forum. Ti invito a leggere il regolamento qualora non lo avessi già fatto.


    In particolare la sezione dei titoli e del tag code


    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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