Страница 2 из 3

Re: Как записать ответ API в поле ?

Добавлено: 27 мар 2023, 16:31
SergeyShepelev
В данном варианте проходиться циклом по json или если Вам нужны только 2 этих параметра добавить еще 1 переменную

Re: Как записать ответ API в поле ?

Добавлено: 27 мар 2023, 17:01
SalahievFR
SergeyShepelev писал(а): 27 мар 2023, 16:31 В данном варианте проходиться циклом по json или если Вам нужны только 2 этих параметра добавить еще 1 переменную
нам нужно больше параметров, тут просто про два спросил. Подскажите как пройтись циклом?

Re: Как записать ответ API в поле ?

Добавлено: 27 мар 2023, 17:53
SergeyShepelev

Re: Как записать ответ API в поле ?

Добавлено: 28 мар 2023, 09:42
SalahievFR
В общем я смог весь ответ записать в поле, а отдельно нужные параметры брать с ответа и назначать в переменные не смог понять как ) Подскажите, пожалуйста, конкретным кодом. Буду благодарён.

Сейчас мой код так выглядит:

Код: Выделить всё

// Инициализация сеанса cURL
$ch = curl_init();
// Установка URL
curl_setopt($ch, CURLOPT_URL, "https://data.av100.ru/api.ashx?key=b0abcafe-dafa-4a4a-8ce0-f327aceab962&vin=".[262]);
// Установка CURLOPT_RETURNTRANSFER (вернуть ответ в виде строки)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Выполнение запроса cURL
//$output содержит полученную строку
$output = curl_exec($ch);
// закрытие сеанса curl для освобождения системных ресурсов
curl_close($ch);
// Запись данных вполя
db_query("update app_entity_25 set field_266='{$output}' where id={$item_id}");

Re: Как записать ответ API в поле ?

Добавлено: 29 мар 2023, 15:17
SergeyShepelev
Ну здесь Вы берете полностью весь ответ не преобразовывая я его в json.
Попробуйте его после получения преобразовать
$result = json_decode($output,true);
$marka = $result['marka'];
$model = $result['model'];
и. тд
потом добавляете в базу:
db_query("update app_entity_26 set field_246='{$marka}', field_n = '{$model}' where id={$item_id}");
Включите отладку и посмотрите что прилетает в переменные

Re: Как записать ответ API в поле ?

Добавлено: 04 апр 2023, 14:51
SalahievFR
При включении отладки система показывает мой код, не выполняет его.

Re: Как записать ответ API в поле ?

Добавлено: 04 апр 2023, 14:55
SergeyShepelev
SalahievFR писал(а): 04 апр 2023, 14:51 При включении отладки система показывает мой код, не выполняет его.
Пришлите скрин части кода что отображается в переменных

Re: Как записать ответ API в поле ?

Добавлено: 04 апр 2023, 14:56
SergeyShepelev
Можете в личку

Re: Как записать ответ API в поле ?

Добавлено: 06 апр 2023, 17:08
remchik
// получение JSON-строки из API
$json = file_get_contents("http://api.example.com/vin/XUUCD26UJC0001601");

// преобразование JSON-строки в ассоциативный массив
$data = json_decode($json, true);
$vin = $response['result']['vininfo']['reghistory']['ownerShipPeriod'][0]['vin'];
$marka = $response['result']['vininfo']['reghistory']['marka'];
$markaModel = $response['result']['vininfo']['reghistory']['markaModel'];
$year = $response['result']['vininfo']['reghistory']['year'];
$bodyNumber = $response['result']['vininfo']['reghistory']['bodyNumber'];
$color = $response['result']['vininfo']['reghistory']['color'];
$engineVolume = $response['result']['vininfo']['reghistory']['engineVolume'];
$enginePower = $response['result']['vininfo']['reghistory']['enginePower'];
$engineNumber = $response['result']['vininfo']['reghistory']['engineNumber'];
$type = $response['result']['vininfo']['reghistory']['type'];
$pts = $response['result']['vininfo']['reghistory']['pts'];
$vininfo = $data["result"]["vininfo"];
$eaisto = $data["result"]["eaisto"];

foreach ($eaisto as $item) {
$sql = "INSERT INTO eaisto (vin, num, gosnumber, rama, date, dateexpire, kuzov, docname, markamodel, marka) VALUES ('" . $item["vin"] . "', '" . $item["num"] . "', '" . $item["gosnumber"] . "', '" . $item["rama"] . "', '" . $item["date"] . "', '" . $item["dateexpire"] . "', '" . $item["kuzov"] . "', '" . $item["docname"] . "', '" . $item["markamodel"] . "', '" . $
}

Как пример:
Я думаю тут понятно как разобрать JSON, Как вложенные данные, так и нет. И АЛАРМА - Ключики надо стирать :))

Re: Как записать ответ API в поле ?

Добавлено: 07 апр 2023, 12:15
SalahievFR
Да ключи пробные, оставил, чтобы точно по ответу апи дали пример кода)