Esportare dati in formato Csv

Salve, è possibile esportare in formato csv dei dati da un db mysql?

Ho i seguenti campi:

nome,cognome,indirizzo,comune,cap,fisso,cellulare,mail,fax,sito,provincia

devo estrarre tutti i nominativi (in formato csv) che hanno il solo campo mail valorizzato. Cioè i campi che non hanno la mail non devono essere esportati. Si può fare?

inviato 5 anni fa
bismark2005
X 0 X

Ciao Birmark2005, eccoti uno snippet che puoi usare come base per esportare i tuo dati all'interno di un file:

<?php

// Array degli elementi da scrivere nel file, può
// anche essere popolato dai risultati di una query al database
$records = array(array(0, 'Hello World 0', 'string' => 'Una stringa'),
                 array(1, 'Hello World 1', 'string' => 'Una stringa'),
                 array(2, 'Hello World 2', 'string' => 'Una stringa'),
                 array(3, 'Hello World 3', 'string' => 'Una stringa'),
                 array(4, 'Hello World 4', 'string' => 'Una stringa'),
                 array(5, 'Hello World 5', 'string' => 'Una stringa'),
                 array(6, 'Hello World 6', 'string' => 'Una stringa'),
                 array(7, 'Hello World 7', 'string' => 'Una stringa'),
                 array(8, 'Hello World 8', 'string' => 'Una stringa'),
                 array(9, 'Hello World 9', 'string' => 'Una stringa'),
);

// Apertura del file
$file = fopen('file.csv', 'w+');

// Scrittura degli elementi
foreach ($records as $record) {
    fwrite($file, sprintf("%d, %s, %s\n", $record[0], $record[1], $record['string']));
}

// Chiusura del file
fclose($file);
risposto 5 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Grazaie trashofmasters, scusa la mia niubbiaggine.

In queste righe:

$records = array(array(0, 'Hello World 0', 'string' => 'Una stringa'),

                 array(1, 'Hello World 1', 'string' => 'Una stringa'),

cosa devo scrivere esattamente? I campi della tabella?

risposto 5 anni fa
bismark2005
X 0 X

No, puoi benissimo avere una ipotetica variabile $records con all'interno il result set della query al database, ad esempio:

<?php
// ...
$query = 'SELECT username, email FROM users';
if ($handle = mysql_query($query)) {
    $records = mysql_fetch_array($handle);
    // Apertura del file e scrittura degli elementi...
}

Se hai ancora dubbi non esitare a chiedere ulteriori delucidazioni!

Tom.

risposto 5 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Scusa trashofmasters  ma io con il Php sono proprio all'inizio. Potresti scrivermi qualche riga di codice d'esempio? Almeno qualche riga il resto cerchero di completarlo io.

Avendo un db , ed una tabella con i seguenti campi

nome,cognome,indirizzo,comune,cap,fisso,cellulare,mail,fax,sito,provincia,categoria

come devo impostare esattamente il codice?

risposto 5 anni fa
bismark2005
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda