PHP JSON encode dati da MySQL
Il titolo non è dei migliori ma rende l'idea.
Quello che vogliamo ottenere è la codifica in formato JSON dei dati provenienti da un db MySQL.
Del perchè in JSON posso rispondere che i motivi sono i più vari.
Ad oggi JSON è usato quasi quanto il formato XML per rappresentare i dati, ed è usato in motli servizi web.
Inoltre le App mobile ne fanno gran uso.
Comunque, come praticamente sempre, con PHP è molto semplice.
Eseguiremo una query usando l'estensione mysqli.
La query viene salvata in un array e poi trasformata.
Per capire bene però sarebbe meglio che sapere che forma ha il JSON.
Potete anche guardare qua.
Create un file e mettetci dentro questo:
<?php
$host = "localhost";
$user = "user";
$pass = "pwd";
$db = "library";
$conn = mysqli_connect($host, $user, $pass, $db) or die(mysqli_connect_error());
if (mysqli_connect_errno()) {
echo "Connessione fallita: " . die(mysqli_connect_error());
}
$result = mysqli_query($conn, "SELECT * FROM book");
$rows = array();
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$rows[] = array(
'title' => $row['title'],
'author' => $row['author'],
'editor' => $row['editor']
);
}
echo json_encode($rows);
mysqli_free_result($result);
mysqli_close($conn);
Apriamo la connessione con i vari parametri.
A connessione avvenuta eseguiamo la query e salviamo i dati in un array.
Per la query usiamo MYSQLI_ASSOC per avere un array associativo (è importante).
JSON richiede una coppia chiave/valore, e quindi salveremo i dati in quel modo.
Sotto usiamo la funzione json_encode per codificare i dati.
Chiudiamo il tutto.
Provate a interrogare la pagina.
Se non avete errori dovreste ritrovarvi con i record in formato JSON!
php json json_encode mysqli MYSQLI_ASSOC
2 Commenti
ciao!<br />per fare l'operazione contraria, cioè la decodifica, puoi guardare quest' altro articolo: https://www.mattepuffo.com/site/php/603-php-json-decode.html<br /><br />ciao!!
04/10/2012Davvero utile, una volta che ho creato il file json come posso visualizzare il suo contenuto? Tipo con $.getJSON e un ciclo?
04/10/2012