Всем добрый день. Есть сервис который работает с файлом в json формате. Это выгрузка, которая прилетает ко мне ежедневно. Хочу перевести это в sql формат средствами php, но не могу придумать механизм, который бы это дело перевёл в таблицу. Я так понимаю сначала его надо спарсить а потом что-то типа: $query = "insert into test values (NULL, '$text')"; А самое сложное, что вызывает вопрос, как обновлять значения уже имеющейся базы на основе json файла.
<!-- содежимое test.json -->
[
{
"ID": "000000001",
"Obj": "Данные об объекте 1",
"proc_gotov": "100",
"vvod": "01.10.2017",
"current": "В процессе"
},
{
"ID": "000000001",
"Obj": "Данные об объекте 1",
"proc_gotov": "100",
"vvod": "01.11.2017",
"current": "В процессе"
},
{
"ID": "000000001",
"Obj": "Данные об объекте 1",
"proc_gotov": "100",
"vvod": "01.12.2017",
"current": "В процессе"
},
{
"ID": "000000002",
"Obj": "Данные об объекте 2",
"proc_gotov": "10",
"vvod": "01.05.2018",
"current": "В процессе"
},
{
"ID": "000000002",
"Obj": "Данные об объекте 2",
"proc_gotov": "10",
"vvod": "01.05.2018",
"current": "В процессе"
},
{
"ID": "000000003",
"Obj": "Данные об объекте 3",
"proc_gotov": "100",
"vvod": "01.12.2016",
"current": "Готов"
},
{
"ID": "000000003",
"Obj": "Данные об объекте 3",
"proc_gotov": "100",
"vvod": "01.12.2016",
"current": "Готов"
},
{
"ID": "000000003",
"Obj": "Данные об объекте 3",
"proc_gotov": "100",
"vvod": "01.12.2016",
"current": "Готов"
}
]
Воспользуйтесь SELECT * FROM OPENJSON(@json)
.
Вот здесь очень хорошо описано: https://docs.microsoft.com/ru-ru/sql/relational-databases/json/json-data-sql-server
$db = new mysqli(...);
$data = json_decode($json);
$stmt = $db->prepare("INSERT INTO table (id, obj, proc, vvod, current) VALUES (?,?,?,?,?) ON DUPLICATE KEY UPDATE SET proc_gotov=?");
$row = $data[0];
$stmt->bind_values("ssisss", $row['ID'], $row['Obj'], $row['proc_gotov'], $row['vvod'], $row['current'], $row['proc_gotov']);
foreach($data as $row){
$stmt->execute();
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
file_get_contents в какой то из версий php имеет проблему с закрытием подключений
json_decode('{"status":false,"message":"Site not found"}'); Что тут не так?
Здравствуйте изначально был вот такой код для отправки данных с форм на email и он прекрасно работал
На странице есть форма для пользователя со списком видов работ (чекбоксы)Пользователь может выбрать одно или несколько значений