Generare file JSON da database
In una precedente lezione abbiamo analizzato le funzioni a disposizione per gestire il formato JSON con PHP. Vediamo ora come possiamo utilizzare alcune di queste funzioni per recuperare dei dati da un database e trasformarli in JSON.
In questa lezione faremo uso dell'estensione PDO che ci consente di accedere al database ed effettuare query. Per approfondire l'argomento si può fare riferimento alla guida apposita.
Gli esempi di questo articolo utilizzano il linguaggio MySQL, PDO è però un layer di astrazione che consente di connetterci anche a database differenti.
La struttura dati
Prima di procedere creiamo una struttura dati e popoliamola con alcuni dati di prova:
CREATE TABLE user (
id INT UNSIGNED NOT NULL AUTO_INCREMENT ,
firstName VARCHAR(100) NOT NULL ,
lastName VARCHAR(100) NOT NULL ,
email VARCHAR(100) NOT NULL ,
PRIMARY KEY ('id')
) ENGINE = InnoDB;
INSERT INTO user (id, firstName, lastName, email)
VALUES (NULL, 'Simone', 'D\'Amico', '[email protected]'),
(NULL, 'Mario', 'Rossi', '[email protected]');
Connessione al database
Il prossimo step consisterà nel creare la connessione al database che ci permetterà di effettuare le query per recuperare i dati:
$user = 'root';
$password = 'root';
$db = 'test';
$host = 'localhost';
$port = 8889;
$conn = new PDO("mysql:host=$host; dbname=$db; port=$port", $user, $password);
Recuperare i dati e convertirli in JSON
Ora che abbiamo un accesso al database possiamo effettuare le nostre query e convertire il risultato in un array JSON popolati con gli utenti presenti nel database.
$result = [];
$stmt = $conn->query("SELECT * FROM user");
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$result[] = $row;
}
echo json_encode($result);
Il codice appena mostrato effettua la query al nostro database recuperando gli utenti; ciclando sui risultati creiamo un array che li contiene tutti. A questo punto grazie alla funzione json_encode()
possiamo restituire l'array in formato JSON.
Il risultato che otterremo è il seguente:
[
{
id: "1",
firstName: "Simone",
lastName: "D'Amico",
email: "[email protected]"
},
{
id: "2",
firstName: "Mario",
lastName: "Rossi",
email: "[email protected]"
}
]
Se vuoi aggiornamenti su PHP inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Rimuovere background della viewport in 3DSMax
Impostare una immagine di background per la viewport di 3DSMax è semplicissimo. Può essere utile per avere una forma da […]