Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    26

    passare variabili da php a js

    Ciao a tutti, ho il seguente problema:voglio visualizzare su una pagina “display.php” il valore di temperatura del mio sensore prelevato dal mio database mysql e voglio che ogni volta che il valore si aggiorna, nella pagina venga visualizzato il valore di temperatura aggiornato.
    ho pensato di fare ciò con ajax in questo modo:
    Codice PHP:
    <?php
    session_start
    ();include('core.php');if(isset($_SESSION['username'])) {    $userid $_SESSION['userid'];    $temp mysql_result(mysql_query("SELECT temperatura FROM sensore WHERE id='$userid'"), 0);    echo 'La Temperatura è: ' .$temp;      }      else {    header('Location: login.php');}?>

    <!doctype html><html><head><script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script><script type="text/javascript">
    function sendTemp(){$.ajax({   type: "POST",   url: "display.php",   data: "temp=<?= $temp ?>",   });}
    </script>
        </head>
        <body>    
         </body></html>

    Praticamente alla pagina display.php accedo tramite login inserendo il nome del sensore con una password.
    Riesco a visualizzare il valore di temperatura rilevato, ma quando nel DB tale valore si aggiorna nella pagina display.php rimane il vecchio valore e non quello aggiornato. Come posso risolvere?
    Grazie a tutti
    Ultima modifica di ciro78; 13-05-2016 a 21:49 Motivo: titolo poco esplicativo

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, puoi mettere in una funzione la chiamata ajax e la stessa richiamarla in un setInterval()

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    26
    Ho fatto questa cosa ed è funzionante..solo che (a prescindere da questo semplice problema) vorrei capire meglio come funziona il tutto.
    Per prima cosa posto la funzione:
    codice HTML:
    <div id="show"></div><script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>   
     <script type="text/javascript">      
      $(document).ready(function() {         
       setInterval(function () {            
        $('#show').load('query.php')         
       }, 3000);     
       });
        </script>
    Bene.. adesso però vorrei capire (anche per poi fare qualcosa di più complesso):
    Ho 2 pagine display.php e query.php
    tramite questa funzione (presente nella pagina display.php) io vado ad eseguire tutto ciò che c'è nella pagina query.php
    bene.. supponendo di avere qui una Select dalla quale recupero appunto il valore "temperatura" ( $temp) come posso associare questo valore (lato server) nella pagina lato client?
    Cioè io voglio prendere questa variabile e poterla eventualmente manipolare nella pagina display.php associandola ad una variabile lato client.
    Come posso fare? Grazie

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    occhio ai titoli. quello che avevi messo era troppo generico e come da regolamento le discussioni vanno chiuse. per questa volta ho corretto io.
    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
    Apr 2016
    Messaggi
    26
    Scusami ciro78! La prossima volta sarò più preciso, grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    26
    Nel caso di presenza di php e js nella stessa pagina non ho problema a fare ciò.
    Purtroppo dato che voglio utilizzare la chiamata asincrona di dati ho diviso in 2 file distinti php e js.
    Nessuno può aiutarmi? Onestamente pensavo fosse una cosa banalissima..però cercando su google non ho trovato nulla a riguardo!

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non capisco sinceramente perché al caricamento attendi 3 secondi prima di richiamare la pagina query? Comunque per recuperare una variabile php (dipende come ricevi i dati json, html, xml, etc...) dovrai fare riferimento ad un id/oggetto presente nel respose, chiaramente quando la pagina query sara disponibile
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    26
    Da quanto ho capito usando setInterval, ogni 3 secondi mi fa la query che voglio senza ricaricare la pagina!

    Poi..ricevo i dati json.
    l'id non dovrebbe essere "show"?(vedere esempio su) Potresti essere per favore più chiaro, cosa dovrei fare per mettere in una variabile (chiamata ad esempio: temp) il valore di temperatura che prelevo dalla pagina php dopo aver fatto la chiamata ajax? Grazie
    Ultima modifica di nigiu; 15-05-2016 a 17:22

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    La query non restituisce json ma html, show non centra nulla. Nella echo che stampa la temperatura devi mettere uno span/div con un ID (univoco) così da recuperarlo al response
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    26
    ok.. ho modificato la pagina query.php in modo che ottengo un json:
    $array[]=array('temp' => $temp);
    echo json_encode($array);

    per quanto riguarda l'ultima parte del tuo commento non ho ben capito:
    devo mettere un div nella pagina query.php? o nella mia pagina principale (display.php)?
    Potresti fare un esempio per cortesia?
    Grazie mille

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.