Buongiorno a tutti,
ho un problema e non riesco a risolvere e dopo qualche giorno di prova ho deciso di scrivere a voi, sperando in un aiuto risolutivo
Ho un database in mysql con una tabella 'tblprojects' che contiene questi dati:
Intestazioni:
name / description / status / deadline
Valori delle colonne:
alberto rossi / testo della descrizione / attivo / 10-01-2017
giacomo neri / testo della descrizione / sospeso / 08-02-2017
roberto bianchi / testo della descrizione / disattivo / 20-02-2017
Ho bisogno, tramite php, di esportare in automatico un file in .csv contenente questi dati e di salvarlo dentro una cartella ftp del mio server per poter dare l'accesso da remoto ad altre persone.
fino ad ora sono riuscito a scrivere questo codice che mi permette di generare il file nella cartella ftp del mio server ma non so come richiamare i valori delle colonne. In sostanza quando eseguo il link mi genera in automatico il file ma quando lo apro ha solo le intestazioni delle colonne e non tutti i valori inseriti nel db mysql. Come posso fare?
Una volta risolto questo avrei poi altri due problemi:
- fare in modo che il file si sovrascrivi automaticamente (ogni giorno il file deve essere aggiornato con i record del db. si può fare in modo che il file si cancelli e si ricrei in automatico?)
- qual'è il processo di cronjob tramite il quale posso richiamare la pagina php ad esempio alle ore 6 di ogni giorno in modo che tutta l'automazione funzioni in automatico?
Ho provato a vedere diverse discussioni che trattano l'argomento ma non ho trovato in nessuna la risoluzione al mio problema.
ho un problema e non riesco a risolvere e dopo qualche giorno di prova ho deciso di scrivere a voi, sperando in un aiuto risolutivo
Ho un database in mysql con una tabella 'tblprojects' che contiene questi dati:
Intestazioni:
name / description / status / deadline
Valori delle colonne:
alberto rossi / testo della descrizione / attivo / 10-01-2017
giacomo neri / testo della descrizione / sospeso / 08-02-2017
roberto bianchi / testo della descrizione / disattivo / 20-02-2017
Ho bisogno, tramite php, di esportare in automatico un file in .csv contenente questi dati e di salvarlo dentro una cartella ftp del mio server per poter dare l'accesso da remoto ad altre persone.
fino ad ora sono riuscito a scrivere questo codice che mi permette di generare il file nella cartella ftp del mio server ma non so come richiamare i valori delle colonne. In sostanza quando eseguo il link mi genera in automatico il file ma quando lo apro ha solo le intestazioni delle colonne e non tutti i valori inseriti nel db mysql. Come posso fare?
PHP:
<?php
$host="mio_host";
$user="utente";
$pass="psw_utente";
$db_name="nome_db_mysql";
$table="tblprojects";
$conn = mysqli_connect($host,$user,$pass,$db_name) or die("Errore connessione");
$query = "SELECT name, description, status, deadline FROM $table ORDER BY ID";
$result = mysqli_query($conn,$query) or die("Errore della query");
//Open a file in write-mode (he creates it, if it not exists)
$fp = fopen('./export/nome_file.csv', 'w');
// output the column headings
fputcsv($fp, array('name','description','status','deadline'));
// output the rows
???
// print message on display
$i = 0;
if ($number < 1) {
print "<center><p>L'export del file .csv non è avvenuto correttamente</p></center>";
}else{
while ($number > $i) {
print "<center><p>Ho effettuato correttamente l'export del file .csv</p></center>";
$i++;
}
}
// loop over the rows, outputting them
// while ($row = mysql_fetch_assoc($rows))
fputcsv($fp, $row);
//close the handler
fclose($fp);
?>
Una volta risolto questo avrei poi altri due problemi:
- fare in modo che il file si sovrascrivi automaticamente (ogni giorno il file deve essere aggiornato con i record del db. si può fare in modo che il file si cancelli e si ricrei in automatico?)
- qual'è il processo di cronjob tramite il quale posso richiamare la pagina php ad esempio alle ore 6 di ogni giorno in modo che tutta l'automazione funzioni in automatico?
Ho provato a vedere diverse discussioni che trattano l'argomento ma non ho trovato in nessuna la risoluzione al mio problema.