CREATE TABLE Posts
{
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200),
url VARCHAR(200)
}
code json.php
<?php
$sql=mysql_query("select * from Posts limit 20");
echo '{"posts": [';
while($row=mysql_fetch_array($sql))
{
$title=$row['title'];
$url=$row['url'];
echo '
{
"title":"'.$title.'",
"url":"'.$url.'"
},';
}
echo ']}';
?>
Je dois générer le fichier results.json
.
Voici un exemple de code:
<?php
$sql="select * from Posts limit 20";
$response = array();
$posts = array();
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)) {
$title=$row['title'];
$url=$row['url'];
$posts[] = array('title'=> $title, 'url'=> $url);
}
$response['posts'] = $posts;
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);
?>
Utilisez ceci:
$json_data = json_encode($posts);
file_put_contents('myfile.json', $json_data);
Vous devez créer le fichier myfile.json avant d'exécuter le script.
Insérez vos valeurs récupérées dans un tableau au lieu de faire écho.
Utilisez file_put_contents()
et insérez json_encode($rows)
dans ce fichier, si $rows
correspond à vos données.
Ici, j'ai mentionné la syntaxe simple pour créer fichier json et imprimer la valeur du tableau à l'intérieur du fichier json de manière élégante.
$array = array('name' => $name,'id' => $id,'url' => $url);
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($array, JSON_PRETTY_PRINT)); //here it will print the array pretty
fclose($fp);
J'espère que cela fonctionnera pour vous ....
Vous pouvez simplement utiliser json_encode une fonction de php et sauvegarder un fichier avec des fonctions de traitement de fichier telles que fopen et fwrite.
Si vous extrayez des enregistrements dynamiques, il est préférable d’avoir un fichier php qui crée une représentation json et non de créer un fichier à chaque fois.
my_json.php
$array = array(
'title' => $title,
'url' => $url
);
echo stripslashes(json_encode($array));
Ensuite, dans votre script, indiquez le chemin d'accès au fichier my_json.php
Tout d'abord, vous devez le décoder:
$jsonString = file_get_contents('jsonFile.json');
$data = json_decode($jsonString, true);
Puis changez les données:
$data[0]['activity_name'] = "TENNIS";
// or if you want to change all entries with activity_code "1"
foreach ($data as $key => $entry) {
if ($entry['activity_code'] == '1') {
$data[$key]['activity_name'] = "TENNIS";
}
}
Puis ré-encodez-le et enregistrez-le dans le fichier:
$newJsonString = json_encode($data);
file_put_contents('jsonFile.json', $newJsonString);