CREATE TABLE Posts { id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(200), url VARCHAR(200) }
<?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 ']}'; ?>
в<?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 ']}'; ?>
Мне нужно создать файл results.json
.
Вот пример кода:
<?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); ?>
в<?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); ?>
Вставьте выбранные значения в массив вместо эха.
Используйте file_put_contents()
и вставьте json_encode($rows)
в этот файл, если $rows
– ваши данные.
Использовать это:
$json_data = json_encode($posts); file_put_contents('myfile.json', $json_data);
работает на меня.
Используйте json-методы PHP для создания json, затем напишите его в файл с помощью fwrite .
Вы можете просто использовать функцию json_encode php и сохранить файл с функциями обработки файлов, такими как fopen и fwrite .
Если вы занимаетесь динамическими записями, лучше иметь 1 php-файл, который создает json-представление, а не создавать файл каждый раз.
my_json.php
$array = array( 'title' => $title, 'url' => $url ); echo stripslashes(json_encode($array));
Затем в вашем скрипте задайте путь к файлу my_json.php
Здесь я упомянул простой syntex для создания json-файла и печатать значение массива внутри json- файла довольно красиво.
$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);
Надеюсь, это сработает для вас ….
Во-первых, вам нужно его расшифровать:
$jsonString = file_get_contents('jsonFile.json'); $data = json_decode($jsonString, true);
Затем измените данные:
$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"; } }
Затем перекодируйте его и сохраните в файле:
$newJsonString = json_encode($data); file_put_contents('jsonFile.json', $newJsonString);
копия