Info invio dati a database mysql.

micos70

Nuovo Utente
24 Mar 2017
28
0
1
ciao
ok se non ho capito male allora confunction tags($numb = 0,$cap = no,$ret = ret) i valori si visualizzano con l'echo, giusto?

Si, esatto, vengono visualizzati con l'echo.

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.


Si, mi visualizza correttamente i dati




ti chiedo questo perche se non ho capito male tu vuoi salvare in un db dei valori presi ad intervalli regolari, giusto?
Si, esatto, voglio salvare i dati che preferisco io nel mio database, ad invetervalli regolari. Ma questi dati non devono trascriveri i dati precedentemente salvati, ma devono essere salvati in successione all'ora e alla data.



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
Ok
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ecco, se funziona la dicitura tags(xxx,0,ret) lasciando nella function $ret=no, potresti fare una pagina chiamate es registra.php (in puro php senza html) attivata come detto dal cronjob
PHP:
<?php
//....
//tutti i js che ti servono se servono
//e tutti gli inclde per far funzionere i tags
require_once("wd_php_tags.php");
// That's it. No more settings!
//
//
// Let's see if the tag file is loaded
if (file_exists("$wdptagfile")){//non so se questo if serva
  $lettura_del=time();//a me piace usare il timestamp
  $temperatura=tags(361,0,ret);
  $vento=tags(376,0,ret);
  //e tutti gli altri valori
  //valori variabili di connessione $host="pinco" ....
  $conn = mysqli_connect($host,$username,$password, $db) or die (mysql_error());
  $query="INSERT INTO tabella(
          lettura,
        temperatura,
        vento
    ) VALUES(
        $lettur_del,
        $temperatura,
        $vento
    ";//mi limito a due a te aggiungere gli altri in funzione di come hai fatto la tabella
  $ris=mysqli_query($conn, $query);
  mysqli_close($con);
}
?>
poi puoi interrogare detta tabella in tutte le maniere che vuoi, passarla a un grafico in php, esportarla in csv per excel....
se non puoi fare il cronjob potresti includere la pagina nella index e aggiornare il db tutte le volte che richiami la index
nel secondo caso la pagina registr.php si semplifica (e niente altro) in
PHP:
<?php
  $lettura_del=time();//a me piace usare il timestamp
  $temperatura=tags(361,0,ret);
  $vento=tags(376,0,ret);
  //e tutti gli altri valori
  //valori variabili di connessione $host="pinco" ....
  $conn = mysqli_connect($host,$username,$password, $db) or die (mysql_error());
  $query="INSERT INTO tabella(
          lettura,
        temperatura,
        vento
    ) VALUES(
        $lettur_del,
        $temperatura,
        $vento
    ";//mi limito a due a te aggiungere gli altri in funzione di come hai fatto la tabella
  $ris=mysqli_query($conn, $query);
  mysqli_close($con);
?>
e nella index metti
PHP:
<?php
//....
//tutti i js che ti servono se servono
//e tutti gli inclde per far funzionere i tags
require_once("wd_php_tags.php");
// That's it. No more settings!
//
//
// Let's see if the tag file is loaded
if (file_exists("$wdptagfile")){
    require_once"registra.php";//richiami la pagina di registrazione
    //ecc... tutto il reto
}
?>
un piccolo esempio di interrogazione:
PHP:
//connessione
$data_ini=$_POST['data_ini'];//da un form in cui puoi fare delle scelte
$data_fin=$_POST['data_fin'];
//tralascio tutti gli eventuali controlli ed eventuali trasformazione delle date
$query="SELECT AVG(temperatura) as media_t WHERE data BETWEN $data_ini AND $data_fin";
$ris=mysqli_query($query);
$riga=mysqli_fetch_assoc($ris);
$temp_media=$riga['media_t'];
echo "temperatura media nel periodo da $data_ini a $data_fin: $temp_media °C";
 

micos70

Nuovo Utente
24 Mar 2017
28
0
1
ciao
ecco, se funziona la dicitura tags(xxx,0,ret) lasciando nella function $ret=no, potresti fare una pagina chiamate es registra.php (in puro php senza html) attivata come detto dal cronjob
PHP:
<?php
//....
//tutti i js che ti servono se servono
//e tutti gli inclde per far funzionere i tags
require_once("wd_php_tags.php");
// That's it. No more settings!
//
//
// Let's see if the tag file is loaded
if (file_exists("$wdptagfile")){//non so se questo if serva
  $lettura_del=time();//a me piace usare il timestamp
  $temperatura=tags(361,0,ret);
  $vento=tags(376,0,ret);
  //e tutti gli altri valori
  //valori variabili di connessione $host="pinco" ....
  $conn = mysqli_connect($host,$username,$password, $db) or die (mysql_error());
  $query="INSERT INTO tabella(
          lettura,
        temperatura,
        vento
    ) VALUES(
        $lettur_del,
        $temperatura,
        $vento
    ";//mi limito a due a te aggiungere gli altri in funzione di come hai fatto la tabella
  $ris=mysqli_query($conn, $query);
  mysqli_close($con);
}
?>
poi puoi interrogare detta tabella in tutte le maniere che vuoi, passarla a un grafico in php, esportarla in csv per excel....
se non puoi fare il cronjob potresti includere la pagina nella index e aggiornare il db tutte le volte che richiami la index
nel secondo caso la pagina registr.php si semplifica (e niente altro) in
PHP:
<?php
  $lettura_del=time();//a me piace usare il timestamp
  $temperatura=tags(361,0,ret);
  $vento=tags(376,0,ret);
  //e tutti gli altri valori
  //valori variabili di connessione $host="pinco" ....
  $conn = mysqli_connect($host,$username,$password, $db) or die (mysql_error());
  $query="INSERT INTO tabella(
          lettura,
        temperatura,
        vento
    ) VALUES(
        $lettur_del,
        $temperatura,
        $vento
    ";//mi limito a due a te aggiungere gli altri in funzione di come hai fatto la tabella
  $ris=mysqli_query($conn, $query);
  mysqli_close($con);
?>
e nella index metti
PHP:
<?php
//....
//tutti i js che ti servono se servono
//e tutti gli inclde per far funzionere i tags
require_once("wd_php_tags.php");
// That's it. No more settings!
//
//
// Let's see if the tag file is loaded
if (file_exists("$wdptagfile")){
    require_once"registra.php";//richiami la pagina di registrazione
    //ecc... tutto il reto
}
?>
un piccolo esempio di interrogazione:
PHP:
//connessione
$data_ini=$_POST['data_ini'];//da un form in cui puoi fare delle scelte
$data_fin=$_POST['data_fin'];
//tralascio tutti gli eventuali controlli ed eventuali trasformazione delle date
$query="SELECT AVG(temperatura) as media_t WHERE data BETWEN $data_ini AND $data_fin";
$ris=mysqli_query($query);
$riga=mysqli_fetch_assoc($ris);
$temp_media=$riga['media_t'];
echo "temperatura media nel periodo da $data_ini a $data_fin: $temp_media °C";




Innanzi tutto ti ringrazio della tua gentilezza e professionalità. Sei stato veramente molto bravo. Adesso non ho tempo per provare, ma ti dirò se tutto è andato bene. Domani proverò e ti dirò.
 

micos70

Nuovo Utente
24 Mar 2017
28
0
1
Innanzi tutto ti ringrazio della tua gentilezza e professionalità. Sei stato veramente molto bravo. Adesso non ho tempo per provare, ma ti dirò se tutto è andato bene. Domani proverò e ti dirò.



Ciao. Soltanto ieri ho potuto esaminare il codice che hai creato, a causa di tanti impegni lavorativi e familiari. Innanzi tutto ti ringranzio per avermi aiutato. Ho inserito, all'interno del codice che mi hai inviato, le variabili di connessione al mio databe locale che sono queste:


// hostname
$host = "localhost";
// utente per la connessione a MySQL
$user = "";
// password per l'autenticazione dell'utente
$password = "";
// database
$db= "dati";


successivamente ho creato una tabella di nome meteolive con all'interno i seguenti campi:

ID
lettura
temp
temp_min
wind
rain

però all'interno del database non viene memorizzato nulla.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto scusa avevo dimenticato di chiudere una parentesi
PHP:
$query="INSERT INTO tabella(
          lettura,
        temperatura,
        vento
    ) VALUES(
        $lettur_del,
        $temperatura,
        $vento
    )";//mi limito
alla fine di VALUES
se la riga
PHP:
 $conn = mysqli_connect($host,$username,$password, $db) or die (mysql_error());
non ti da errore probabilmente l'errore era in quella parentesi
correggi e fammi sapere
dimenticavo posta come hai settato i campi della tabella
 

micos70

Nuovo Utente
24 Mar 2017
28
0
1
ciao
intanto scusa avevo dimenticato di chiudere una parentesi
PHP:
$query="INSERT INTO tabella(
          lettura,
        temperatura,
        vento
    ) VALUES(
        $lettur_del,
        $temperatura,
        $vento
    )";//mi limito
alla fine di VALUES
se la riga
PHP:
 $conn = mysqli_connect($host,$username,$password, $db) or die (mysql_error());
non ti da errore probabilmente l'errore era in quella parentesi
correggi e fammi sapere
dimenticavo posta come hai settato i campi della tabella




Questo è il settaggio dei campi della mia tabella:
 

Allegati

  • database.GIF
    database.GIF
    208,8 KB · Visite: 216

micos70

Nuovo Utente
24 Mar 2017
28
0
1
Comunque all'interno del database ancora non è stato caricato nulla. Ho fatto le modifiche che mi hai chiesto.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
visto così i campi
temp, temp_min, wind, rain sembrerebbero ok
il campo lettura se usi il timestamp deve essre int(15), il formato datatime è adatta per valori tipo YYYY-mm-dd, quindi o metti l'istuzione con time o devi cambiare l'insert
il campo ID, va bene int(11) pero non vedo che sia settato a autoincrement e prypary key, è essenziale altrimenti non riesce a distinguere un record da l'altro (ci pensa mysql ad aggiornarlo ogni volta che un record viene inserito, tant'è vero che se noti nell'insert non è citato)
 

micos70

Nuovo Utente
24 Mar 2017
28
0
1
ciao
visto così i campi
temp, temp_min, wind, rain sembrerebbero ok
il campo lettura se usi il timestamp deve essre int(15), il formato datatime è adatta per valori tipo YYYY-mm-dd, quindi o metti l'istuzione con time o devi cambiare l'insert
il campo ID, va bene int(11) pero non vedo che sia settato a autoincrement e prypary key, è essenziale altrimenti non riesce a distinguere un record da l'altro (ci pensa mysql ad aggiornarlo ogni volta che un record viene inserito, tant'è vero che se noti nell'insert non è citato)



Ciao, ho fatto le modifiche al dabase di cui mi hai riferito, ma ancora non è stato memorizzato nessun dato all'interno. Cosa può essere ? Ciao e grazie ancora.
 

Allegati

  • database.GIF
    database.GIF
    103 KB · Visite: 250

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per prima cosa metti un var_dump subito dopo la query
PHP:
<?php
//....
$query="INSERT INTO meteolive(lettura,temperatura,vento)
    VALUES($lettur_del,$temperatura,$vento)";
var_dump($query);//poi lo togli o lo commenti
//.....
?>
e verifica che la query venga scritta come dovrebbe, esempio se (metto dei numeri a caso)
$lettur_del = 369258147, $temperatura= 22, $vento=37.3
dovrebbe darti
string(xy) "INSERT INTO meteolive(lettura,temperatura,vento) VALUES(369258147,22,37.3)"

poi un dubbio, nella INSERT hai messo il nome della tua tabella meteolive o hai lasciato tabella?
 

micos70

Nuovo Utente
24 Mar 2017
28
0
1
ciao
per prima cosa metti un var_dump subito dopo la query
PHP:
<?php
//....
$query="INSERT INTO meteolive(lettura,temperatura,vento)
    VALUES($lettur_del,$temperatura,$vento)";
var_dump($query);//poi lo togli o lo commenti
//.....
?>
e verifica che la query venga scritta come dovrebbe, esempio se (metto dei numeri a caso)
$lettur_del = 369258147, $temperatura= 22, $vento=37.3
dovrebbe darti
string(xy) "INSERT INTO meteolive(lettura,temperatura,vento) VALUES(369258147,22,37.3)"

poi un dubbio, nella INSERT hai messo il nome della tua tabella meteolive o hai lasciato tabella?




No ho messo meteolive come nome di tabella.
 
Discussioni simili
Autore Titolo Forum Risposte Data
E Info relazione tabelle MySQL 17
D Info copyright Leggi, Normative e Fisco 0
T IP INFO NON FUNZIONA PHP 0
J Info per copia sfondo Photoshop 2
C info: da mockup al progetto finale Discussioni Varie 0
E Info tempi di indicizzazione google SEO e Posizionamento 4
D Vendo account Instagram da 12 k Followers con Engagement altissimo scrivetemi per info Compravendita siti e domini 5
M Info su yi cam dome 1080P IP Cam e Videosorveglianza 0
F Info aws ed ec2 per creazione sito vendita orodotti digitali Server Dedicati e VPS 0
V [Visual Basic] ottenere info su sistema Visual Basic 1
M [PHP] Info pagina web PHP 6
Selenio89 info framework Discussioni Varie 1
M Info phpgraph PHP 3
A [PHP] info funzioni PHP 11
J SVENDO PAGINA FACEBOOK 10.000 FANS, PER INFO ENTRA. Annunci servizi di Social Media Marketing 1
J SVENDO PAGINA FACEBOOK 10.000 FANS, PER INFO ENTRA. Annunci servizi di Social Media Marketing 4
C info creazione documenti word in php PHP 0
readme Info sul SEO SEO e Posizionamento 7
B chat php/javascript che perde info nella navigazione del sito. PHP 0
P Info su vbulletin Supporto Mr.Webmaster 0
D Info Privacy Policy e Cookie Law Leggi, Normative e Fisco 1
M Salve , sono nuovo , cerco INFO, grazie Programmazione 1
P Info su vbulletin CMS (Content Management System) 7
P info generali su vbulletin CMS (Content Management System) 0
C Info wifi collegare dispositivi apple Windows e Software 1
Akuma Info app per sito Sviluppo app per Android 4
D Info NSURL sharing Sviluppo app per iOS 0
F info redirect 301 SEO e Posizionamento 0
D [SQL Server] Info su licenza e costi Database 0
T Info creazione sito bilingua WordPress 10
filippino info su backlink SEO e Posizionamento 0
A Info certificazione Discussioni Varie 17
R Info per TAG e META CMS (Content Management System) 0
R Alcune info su Versione Joomla e Template adatto Joomla 5
M info su creazione cartelle PHP 8
M Info su corsi Puntonet HTML e CSS 0
P info host Hosting 1
M info newsletter Email Marketing 1
nexus Info HTML e CSS 4
L info seo ecommerce E-Commerce 1
K info da locale a remoto Hosting 12
K info query da cambiare PHP 9
S Creazione Db e info su mysql workbench MySQL 1
K info query codice PHP 19
R php info.. PHP 10
A Info lavoro Offerte e Richieste di Lavoro e/o Collaborazione 4
F Info tag "index, follow" HTML e CSS 17
sito-wordpress SEO Info Google non vuole più il meta tag "Keyword" SEO e Posizionamento 6
P Info su script php_linkcycle.zip PHP 1
M Drupal - modifica info del sito CMS (Content Management System) 1

Discussioni simili