Info invio dati a database mysql.

  • Creatore Discussione Creatore Discussione micos70
  • Data di inizio Data di inizio

micos70

Nuovo Utente
24 Mar 2017
28
0
1
Ciao a tutti, sono nuovo in questo forum. Da poco sto iniziando ad imparare qualcosa in php. Il mio problema è questo. Ho un software di una stazione meteo che pubblica i dati in file php che si trova in un server remoto. Vorrei che questi dati che vengono aggiornati in questo file, vengano trasferiti anche, in automatico, al mio database mysql. Come si potrebbe fare ? Grazie a tutti anticipatamente.
 
ciao
dovresti postare il codice del file php che legge i dati, comunque se legge i dati poi passarli a mysql non dovrebbe essere una cosa difficile
 
ciao
dovresti postare il codice del file php che legge i dati, comunque se legge i dati poi passarli a mysql non dovrebbe essere una cosa difficile



Questo è il codice. Al posto dei tag <?php tags(**);?> , il software inserisce i propri valori relativi ad ogni parametro come temperatura, umidità, ecc ecc. Io vorrei che i dati inseriti dal software in questo file .php, venissero automaticamente inseriti all'interno del mio database.


PHP:
<caption>Aggiornamento del : <?php tags(68);?> . <?php tags(69);?> . <?php tags(70);?> ore <?php tags(67);?> : <?php tags(66);?></caption>
                 <tr><td colspan="3"></td></tr>
                 <tr><th>Temperatura</td>
                  <td>attuale:<?php tags(361);?></td>
                  <td>Min:<?php tags(373);?> alle ore <?php tags(376);?></td>
                 </tr>
                 <tr><td></td>
                  <td>( 0.0 )</td>
                  <td>Max:<?php tags(370);?>alle ore <?php tags(372);?></td>
                 </tr>
                 <tr><td colspan="3"></td></tr>
                 <tr><th>Vento</td>
                  <td>Attuale:<?php tags(376);?></td>
                  <td>direzione <?php tags(636);?>( <?php tags(643);?> )</td>
                 </tr>
                 <tr><td></td>
                  <td>Media</td>
                  <td><?php tags(719);?> alle ore <?php tags(654);?> </td>
                 </tr>
                 <tr><td></td>
                  <td>Gusts</td>
                  <td>Max <?php tags(719);?> at <?php tags(654);?></td>
                 </tr>
                 <tr><td colspan="3"></td></tr>
                 <tr><th>Pioggia</td>
                  <td>Oggi :   <?php tags(777);?></td>
                  <td>Questo mese : <?php tags(779);?></td>
                 </tr>
                 <tr><td></td>
                  <td></td>
                  <td>Questo anno: <?php tags(780);?></td>
                 </tr>
                 <tr><td></td>
                  <td></td>
                  <td>Giorni con pioggia:<?php tags(792);?></td>
                 </tr>
                 <tr><td colspan="3"></td></tr>
                 <tr><td></td>
                 <tr><th>Pressione</td>
                  <td>Attuale : <?php tags(742);?></td>
                  <td>Min: <?php tags(746);?>  alle ore <?php tags(747);?></td>
                 </tr>
                 <tr><td></td>
                  <td>Stazionaria ( <?php tags(752);?>. )</td>
                  <td>Max: <?php tags(744);?> alle ore <?php tags(745);?></td>
                   </tr>
                 <tr><td colspan="3"></td></tr>      
                 <tr><td colspan="3" align="center">
                  </td>
                 </tr>[PHP]
 
Ultima modifica di un moderatore:
ciao
si penso che sia fattibile, però dovresti dirmi cosa rappresentano quei tag, esempio
tags(361) -> temperatura
tags(742) -> pressione
ecc...
quali ti servono o se tutti e cosa contengono es il tags(361) contiene solo un numero? o anche qualcosaltro?


p.s.
quando posti del codice racchiudulo entro gli appositi bccode o usa inserisci->codice e quale (quartultima iconcina sulla riga di formattazione del testo) e cerca di non sbrodolarlo troppo


scusa mi è venuto un grosso dubbio
cosa è tags(xy)? per caso è una function php? se si dovrei vedere quella
 
ciao
si penso che sia fattibile, però dovresti dirmi cosa rappresentano quei tag, esempio
tags(361) -> temperatura
tags(742) -> pressione
ecc...
quali ti servono o se tutti e cosa contengono es il tags(361) contiene solo un numero? o anche qualcosaltro?


p.s.
quando posti del codice racchiudulo entro gli appositi bccode o usa inserisci->codice e quale (quartultima iconcina sulla riga di formattazione del testo) e cerca di non sbrodolarlo troppo


scusa mi è venuto un grosso dubbio
cosa è tags(xy)? per caso è una function php? se si dovrei vedere quella


Si, in pratica dietro quel tag il software andrà a porre il proprio valore che andrà ad essere visualizzato sulla pagina web.
 
ciao
è si, ma come ho detto mi servirebbe quella funzione, oppure per capire meglio e poi poterti aiutare dovresti fare questa prova, ciè aggiungere queste righe di php e provare
PHP:
<?php
$prova=tags(376);//o uno degli altr xy
echo "<pre>";
var_dump($prova);//devi POSTARMI COSA RIPORTA
echo "<pre>";
?>
<!--qui non so cosa c'è -->
<caption>Aggiornamento del : <?php tags(68);?> . <?php tags(69);?> . <?php tags(70);?> ore <?php tags(67);?> : <?php tags(66);?></caption>
                 <tr><td colspan="3"></td></tr>
                 <tr><th>Temperatura</td>
                  <td>attuale:<?php tags(361);?></td>
                  <td>Min:<?php tags(373);?> alle ore <?php tags(376);?></td>
                 </tr>
                 <tr><td></td>
                  <td>( 0.0 )</td>
                  <td>Max:<?php tags(370);?>alle ore <?php tags(372);?></td>
                 </tr>
                 <tr><td colspan="3"></td></tr>
                 <tr><th>Vento</td>
                  <td>Attuale:<?php tags(376);?></td>
                  <td>direzione <?php tags(636);?>( <?php tags(643);?> )</td>
                 </tr>
                 <tr><td></td>
                  <td>Media</td>
                  <td><?php tags(719);?> alle ore <?php tags(654);?> </td>
                 </tr>
                 <tr><td></td>
                  <td>Gusts</td>
                  <td>Max <?php tags(719);?> at <?php tags(654);?></td>
                 </tr>
                 <tr><td colspan="3"></td></tr>
                 <tr><th>Pioggia</td>
                  <td>Oggi :   <?php tags(777);?></td>
                  <td>Questo mese : <?php tags(779);?></td>
                 </tr>
                 <tr><td></td>
                  <td></td>
                  <td>Questo anno: <?php tags(780);?></td>
                 </tr>
                 <tr><td></td>
                  <td></td>
                  <td>Giorni con pioggia:<?php tags(792);?></td>
                 </tr>
                 <tr><td colspan="3"></td></tr>
                 <tr><td></td>
                 <tr><th>Pressione</td>
                  <td>Attuale : <?php tags(742);?></td>
                  <td>Min: <?php tags(746);?>  alle ore <?php tags(747);?></td>
                 </tr>
                 <tr><td></td>
                  <td>Stazionaria ( <?php tags(752);?>. )</td>
                  <td>Max: <?php tags(744);?> alle ore <?php tags(745);?></td>
                   </tr>
                 <tr><td colspan="3"></td></tr>     
                 <tr><td colspan="3" align="center">
                  </td>
                 </tr>
<!--qui non so cosa c'è -->
 
ciao
è si, ma come ho detto mi servirebbe quella funzione, oppure per capire meglio e poi poterti aiutare dovresti fare questa prova, ciè aggiungere queste righe di php e provare
PHP:
<?php
$prova=tags(376);//o uno degli altr xy
echo "<pre>";
var_dump($prova);//devi POSTARMI COSA RIPORTA
echo "<pre>";
?>
<!--qui non so cosa c'è -->
<caption>Aggiornamento del : <?php tags(68);?> . <?php tags(69);?> . <?php tags(70);?> ore <?php tags(67);?> : <?php tags(66);?></caption>
                 <tr><td colspan="3"></td></tr>
                 <tr><th>Temperatura</td>
                  <td>attuale:<?php tags(361);?></td>
                  <td>Min:<?php tags(373);?> alle ore <?php tags(376);?></td>
                 </tr>
                 <tr><td></td>
                  <td>( 0.0 )</td>
                  <td>Max:<?php tags(370);?>alle ore <?php tags(372);?></td>
                 </tr>
                 <tr><td colspan="3"></td></tr>
                 <tr><th>Vento</td>
                  <td>Attuale:<?php tags(376);?></td>
                  <td>direzione <?php tags(636);?>( <?php tags(643);?> )</td>
                 </tr>
                 <tr><td></td>
                  <td>Media</td>
                  <td><?php tags(719);?> alle ore <?php tags(654);?> </td>
                 </tr>
                 <tr><td></td>
                  <td>Gusts</td>
                  <td>Max <?php tags(719);?> at <?php tags(654);?></td>
                 </tr>
                 <tr><td colspan="3"></td></tr>
                 <tr><th>Pioggia</td>
                  <td>Oggi :   <?php tags(777);?></td>
                  <td>Questo mese : <?php tags(779);?></td>
                 </tr>
                 <tr><td></td>
                  <td></td>
                  <td>Questo anno: <?php tags(780);?></td>
                 </tr>
                 <tr><td></td>
                  <td></td>
                  <td>Giorni con pioggia:<?php tags(792);?></td>
                 </tr>
                 <tr><td colspan="3"></td></tr>
                 <tr><td></td>
                 <tr><th>Pressione</td>
                  <td>Attuale : <?php tags(742);?></td>
                  <td>Min: <?php tags(746);?>  alle ore <?php tags(747);?></td>
                 </tr>
                 <tr><td></td>
                  <td>Stazionaria ( <?php tags(752);?>. )</td>
                  <td>Max: <?php tags(744);?> alle ore <?php tags(745);?></td>
                   </tr>
                 <tr><td colspan="3"></td></tr>    
                 <tr><td colspan="3" align="center">
                  </td>
                 </tr>
<!--qui non so cosa c'è -->




Adesso ti spiego meglio, ho sbagliato non spiegarti come funziona realmente tutto. Il mio software, che gestisce i dati della mia stazione meteo, fra le sue impostazioni, può essere abilitato a creare dei tag html del tipo . (Divido la mia risposta in diverse parti visto che è troppo lunga.)

  1. Temperature/Humidity Current: -
  2. 16.8°C - %temp% .....................temperature
  3. 17 - %tempnodp% .................temperature, no decimal place
  4. 62 - %tempnodpf% ................temperature, no decimal place always F
  5. 17 - %dewnodp%...................dew point, no decimal place
  6. 99 - %hum% ......................humidity
  7. 16.6°C - %dew% ......................dew point
  8. - %dewdep%....................dew point depression
  9. 16.8°C - %heati% ....................current heat index
  10. 17 - %heatinodp% ................current heat index,no decimal place
  11. 16.8°C - %maxtemp% ..................today's maximum temperature
  12. 17 - %maxtempnodp% ..............today's maximum temperature, no decimal place
  13. - %maxtempt% .................time this occurred





che danno la possibilità di inserire i dati proveniente dalla stazione meteo, aggiornati minuto per minuto, direttamente sulla pagina web che ho creato. Il mio interesse è stato di avere, anzichè una pagina web in html, una pagina web in php. Per riportare i dati trasmessi dal software di gestione sulla mia pagina php, si è dovuto obligatoriamente cambiare un pò di cose. Sono andato in giro sul web e ho trovato il metodo per poter convertire quei tag html sopra riportati, in php.
 
Adesso ti spiego meglio, ho sbagliato non spiegarti come funziona realmente tutto. Il mio software, che gestisce i dati della mia stazione meteo, fra le sue impostazioni, può essere abilitato a creare dei tag html del tipo . (Divido la mia risposta in diverse parti visto che è troppo lunga.)

  1. Temperature/Humidity Current: -
  2. 16.8°C - %temp% .....................temperature
  3. 17 - %tempnodp% .................temperature, no decimal place
  4. 62 - %tempnodpf% ................temperature, no decimal place always F
  5. 17 - %dewnodp%...................dew point, no decimal place
  6. 99 - %hum% ......................humidity
  7. 16.6°C - %dew% ......................dew point
  8. - %dewdep%....................dew point depression
  9. 16.8°C - %heati% ....................current heat index
  10. 17 - %heatinodp% ................current heat index,no decimal place
  11. 16.8°C - %maxtemp% ..................today's maximum temperature
  12. 17 - %maxtempnodp% ..............today's maximum temperature, no decimal place
  13. - %maxtempt% .................time this occurred




che danno la possibilità di inserire i dati proveniente dalla stazione meteo, aggiornati minuto per minuto, direttamente sulla pagina web che ho creato. Il mio interesse è stato di avere, anzichè una pagina web in html, una pagina web in php. Per riportare i dati trasmessi dal software di gestione sulla mia pagina php, si è dovuto obligatoriamente cambiare un pò di cose. Sono andato in giro sul web e ho trovato il metodo per poter convertire quei tag html sopra riportati, in php.
 
ciao
quello lo avevo capito, ma quello che mi serve sapere è come prelevare i valori per poi passarli al database, cioè se non si riesce a passare quei valori ad una variabile php difficilmente sara possibile generare una query di inserimento, per quello che ti ho chiesto di fare quella prova, proprio per vedere se è possibile mettere quei valori in una query.
se quel var_dump dovesse riportati NULL vuol dire che non si riesce a passare i valori (o se quello non è il modo) ad una variabile php
per fare una query es ultraschematico

INSERT INTO tabella(temperatura) VALUES('$temperatura')

ora capisci devo ricavare quella $temperatura e se questo non funziona

$temperatura=tags(xy)

come faccio ad inserire un valore?

p.s.
eventaualmente riposta i codici, ma in formato .txt che così li passo ha dream per cercare di c apirici meglio

edit salvo provare a vedere se funziona qualcosa del genere
INSERT INTO tabella(temperatura) VALUES('tags(xy)')
 
ciao
si fammi sapere cosa risulta, se come spero il var_dump ti restituisce il valore giusto la cosa diventa semplice


Eccomi, finalmente. Ho inserito il codice:

<?php
$temp=tags(361);//tag temperatura
echo "<pre>";
var_dump($temp);//sullo schermo riporta "NULL"
echo "<pre>";
?>

A schermo mi appare la temperatura e sotto la scritta "NULL".
 
ciao
forse ho trovato l'inghippo, vai sul file wd_php_tags.php e quarda come è settata la funzione tags, è scritta così?

function tags($numb = 0,$cap = no,$ret = no)

così a naso il problema mi sembra che sia in quel $ret = no in quanto alla fine della funzione hai
PHP:
<?php
function tags($numb = 0,$cap = no,$ret = no){
    //.................
    // Return the results or echo them   
    if ($ret == "ret"){
        return $tagID[$numb];
    }else{
        echo $tagID[$numb];
    }
}
//....
?>
dato che $ret = no non trasmette il valore, ma semplicemente lo stampa a video
devi provare a settare la funzione con $ret = "ret" e però dove hai esempio
PHP:
<td>Max:<?php tags(370);?>alle ore <?php tags(372);?></td>
dovresti correggere in
PHP:
<td>Max:<?php echo tags(370);?>alle ore <?php echo tags(372);?></td>
analogamente per gli altri tags
è un lavoro noioso, ma per ora mi sembra l'unica via per avere e poi salvare i dati in un db
 
ciao
forse ho trovato l'inghippo, vai sul file wd_php_tags.php e quarda come è settata la funzione tags, è scritta così?

function tags($numb = 0,$cap = no,$ret = no)

così a naso il problema mi sembra che sia in quel $ret = no in quanto alla fine della funzione hai
PHP:
<?php
function tags($numb = 0,$cap = no,$ret = no){
    //.................
    // Return the results or echo them  
    if ($ret == "ret"){
        return $tagID[$numb];
    }else{
        echo $tagID[$numb];
    }
}
//....
?>
dato che $ret = no non trasmette il valore, ma semplicemente lo stampa a video
devi provare a settare la funzione con $ret = "ret" e però dove hai esempio
PHP:
<td>Max:<?php tags(370);?>alle ore <?php tags(372);?></td>
dovresti correggere in
PHP:
<td>Max:<?php echo tags(370);?>alle ore <?php echo tags(372);?></td>
analogamente per gli altri tags
è un lavoro noioso, ma per ora mi sembra l'unica via per avere e poi salvare i dati in un db




Si, è scritto proprio come hai fatto tu:
function tags($numb = 0,$cap = no,$ret = no)


allora proverò. E per trasferire i valori al database ? quale funzione mi conviene usare ?
 
ciao
aspetta un secondo, vediamo se è quello in problema



Ciao. Ho effettutato le prove che mi hai detto. Ho modificato la funzione da function tags($numb = 0,$cap = no,$ret = no)
a function tags($numb = 0,$cap = no,$ret = ret). Inoltre ho modificato i tag da <?php tag(xxx)> in <? echo tag(xxx) e i dati vengono pubblicati ugulamente sulla mia pagine web. Lo stessa cosa succede se lascio invariata la funzione function tags($numb = 0,$cap = no,$ret = no) e lascio i tag <? echo tag(xxx)> vengono visualizzati ugualmente i dati sulla pagina web. Non viene visualizzato nessun dato se modifico la funzione in function tags($numb = 0,$cap = no,$ret = ret) ma lascio i tag <?php tag(xxx)> invariati.
 
ciao
ok se non ho capito male allora confunction tags($numb = 0,$cap = no,$ret = ret) i valori si visualizzano con l'echo, giusto?
ultriore prova, riporta la funzione all'origine $ret = no, poi prova, a scrivere l'echo del tag in questo modo
PHP:
<?php echo tag(xxx,0,ret);?>
provane almeno un paio e dimmi se ti riporta il dato con quella modifica.

ti chiedo questo perche se non ho capito male tu vuoi salvare in un db dei valori presi ad intervalli regolari, giusto?
se è così ti converrebbe fare una pagina apposita che venga attivata da un cronjob (sentire il tuo provider) in modo che i dati possano essere registrati indipendentemente dal fatto che tu richiami o meno la pagina agli intervalli prestabiliti.

poi bisogna studiare per bene la tabella del db in modo che non ci siano valori ridondanti, se non ho visto male hai es. un tag che ti da una media, secondo me quel tag non va registrato in quanto poi con appositi script php puoi ricavare tutte le medie che vuoi (o somme o massimo o minimo...)
ti schematizzo un esempio di tabella
id int(12) autoincrement prymarykey
data_lettura ?? dipende come scritta es yy/mm/gg h:i:s o (io preferirei) in timestamp
pressione float(3.3)
ecc...per gli altri tag
 

Discussioni simili