Всем привет! На работе дали задачу, потому что я немного понимаю в PHP, но которую я не могу сам решить... Уровень познаний поверхностный... Есть база и она выгружает данные вот в таком виде (только вообще без пробелов, одной строкой): Спойлер: Пример укороченный { "content": [ { "id": 0001, "document": "11111111", "status": "OPEN", "application": { "estimatedCost": { "amount": 1502.00, "unit": "RUB" }, "info": { "comment": null, "managerId": null, "payerOrganization": null, "shipperOrganization": null }, "id": 54565677, "status": "ON_TEST", "documentNumber": "DSFHJYJ", "createdUser": null, "groupInfo": null, "applications": [], "route": { "way": [{ "contactPerson": { "email": "TEST@SERVER.ru", "fullName": "Юзер Пользович", "mobile": "+7 777 123-45-67" }, "dateFrom": "2019-11-15T23:00:00Z", "dateTo": null, "location": { "distance": { "unit": 1, "value": 0 }, "country": { "code": "RU" }, "address": "Россия, Улица Такая-то, 63", "city": "Город", "lat": 57.037595, "lng": 193.45774630000005, "placeId": "EjxVbnVzc2lhLCAdD6DTXKXRFO_FNhA_", "region": "Наш край" }, "organization": { "inn": "12345678", "kpp": "123456789", "name": "Филиал Дальний ООО \"Сервис\"", "kontrInfo": "e74a82b082" }, "type": 1, "id": 19017 }, { "contactPerson": { "email": "ya@server.ru", "fullName": "Консьержка", "mobile": "+7 666 666-66-55" }, "dateFrom": "2019-11-21T23:00:00Z", "dateTo": null, "location": { "distance": { "unit": 1, "value": 2502 }, "country": { "code": "RU" } }] }, "items": [{ "height": { "value": 0.000000, "unit": 2 }, "length": { "value": 0.000000, "unit": 2 }, "width": { "value": 0.000000, "unit": 2 }] }, "current": { "amount": 149890.00, "unit": "RUB" }, "maxAvailable": { "amount": 33.20, "unit": "RUB" }, "finishDate": "2019-11-15T08:43:26.783Z", "participantsCount": 0, "isCurrentCarrierLeading": false, "isCurrentCarrierWon": null, "version": 0, "dealId": null, "routeType": "STANDARD" } } }, { "id": 0002, "document": "11111111", "status": "OPEN", "application": { "estimatedCost": { "amount": 1502.00, "unit": "RUB" }, "info": { "comment": null, "managerId": null, "payerOrganization": null, "shipperOrganization": null }, "id": 54565677, "status": "ON_TEST", "documentNumber": "DSFHJYJ", "createdUser": null, "groupInfo": null, "applications": [], "route": { "way": [{ "contactPerson": { "email": "TEST@SERVER.ru", "fullName": "Юзер Пользович", "mobile": "+7 777 123-45-67" }, "dateFrom": "2019-11-15T23:00:00Z", "dateTo": null, "location": { "distance": { "unit": 1, "value": 0 }, "country": { "code": "RU" }, "address": "Россия, Улица Такая-то, 63", "city": "Город", "lat": 57.037595, "lng": 193.45774630000005, "placeId": "EjxVbnVzc2lhLCAdD6DTXKXRFO_FNhA_", "region": "Наш край" }, "organization": { "inn": "12345678", "kpp": "123456789", "name": "Филиал Дальний ООО \"Сервис\"", "kontrInfo": "e74a82b082" }, "type": 1, "id": 19017 }, { "contactPerson": { "email": "ya@server.ru", "fullName": "Консьержка", "mobile": "+7 666 666-66-55" }, "dateFrom": "2019-11-21T23:00:00Z", "dateTo": null, "location": { "distance": { "unit": 1, "value": 2502 }, "country": { "code": "RU" } }] }, "items": [{ "height": { "value": 0.000000, "unit": 2 }, "length": { "value": 0.000000, "unit": 2 }, "width": { "value": 0.000000, "unit": 2 }] }, "current": { "amount": 149890.00, "unit": "RUB" }, "maxAvailable": { "amount": 33.20, "unit": "RUB" }, "finishDate": "2019-11-15T08:43:26.783Z", "participantsCount": 0, "isCurrentCarrierLeading": false, "isCurrentCarrierWon": null, "version": 0, "dealId": null, "routeType": "STANDARD" } } }, { "id": 0003, "document": "11111111", "status": "OPEN", "application": { "estimatedCost": { "amount": 1502.00, "unit": "RUB" }, "info": { "comment": null, "managerId": null, "payerOrganization": null, "shipperOrganization": null }, "id": 54565677, "status": "ON_TEST", "documentNumber": "DSFHJYJ", "createdUser": null, "groupInfo": null, "applications": [], "route": { "way": [{ "contactPerson": { "email": "TEST@SERVER.ru", "fullName": "Юзер Пользович", "mobile": "+7 777 123-45-67" }, "dateFrom": "2019-11-15T23:00:00Z", "dateTo": null, "location": { "distance": { "unit": 1, "value": 0 }, "country": { "code": "RU" }, "address": "Россия, Улица Такая-то, 63", "city": "Город", "lat": 57.037595, "lng": 193.45774630000005, "placeId": "EjxVbnVzc2lhLCAdD6DTXKXRFO_FNhA_", "region": "Наш край" }, "organization": { "inn": "12345678", "kpp": "123456789", "name": "Филиал Дальний ООО \"Сервис\"", "kontrInfo": "e74a82b082" }, "type": 1, "id": 19017 }, { "contactPerson": { "email": "ya@server.ru", "fullName": "Консьержка", "mobile": "+7 666 666-66-55" }, "dateFrom": "2019-11-21T23:00:00Z", "dateTo": null, "location": { "distance": { "unit": 1, "value": 2502 }, "country": { "code": "RU" } }] }, "items": [{ "height": { "value": 0.000000, "unit": 2 }, "length": { "value": 0.000000, "unit": 2 }, "width": { "value": 0.000000, "unit": 2 }] }, "current": { "amount": 149890.00, "unit": "RUB" }, "maxAvailable": { "amount": 33.20, "unit": "RUB" }, "finishDate": "2019-11-15T08:43:26.783Z", "participantsCount": 0, "isCurrentCarrierLeading": false, "isCurrentCarrierWon": null, "version": 0, "dealId": null, "routeType": "STANDARD" } } } ], "total": 03, "sort": null, "first": true, "size": 25, "number": 0 } Забираю данные из базы Код (Text): // выводим в HTML-таблицу все данные клиентов из таблицы MySQL while($data = mysql_fetch_array($qr_result)){ $baza = $data['data']; preg_match("/id\":(.*?),/i",$baza, $nahodka_id); $nahodka_id_txt = $nahodka_id[1]; preg_match("/status\":\"(.*?)\",/i",$baza, $nahodka_status); $nahodka_status_txt = $nahodka_status[1]; preg_match("/documentNumber\":\"(.*?)\",/i",$baza, $nahodka_documentNumber); $nahodka_documentNumber_txt = $nahodka_documentNumber[1]; $br = "<br>"; echo 'результат: ' . $nahodka_id_txt . $br . $nahodka_status_txt . $br . $nahodka_documentNumber_txt; // закрываем соединение с сервером базы данных mysql_close($connect_to_db); Проблема в том что я не совсем понимаюкак вывести все четыре ID, потому что данные вытаскиваются только из первой части. Я понимаю что я делаю что то не так и прошу помочь, как вытащить все данные из всех ID, а не только из первой. Заранее спасибо за помощь!
это JSON нужно его превратить в массив. делай так $baza= json_decode($data['data'],true); а дальше с массивом разберешься без проблем, без всяких регулярок
Вы неправильно сформулировали проблему 1. Самое первое что вам нужно сделать - это прочитать о том, что такое JSON (так называется формат, в котором представлены ваши данные) и как с ним правильно работать в PHP. Потому что получать данные из JSON как из простой строки при помощью регулярок, это не просто жесть, это жесть-жесть Если кратко: JSON конвертируется в ассоциативный массив при помощи функции https://www.php.net/manual/ru/function.json-decode.php и далее уже работаете с массивом. В общем, почитайте по теме - там не особо сложно. Возникнут конкретные вопросы - пишите в топик
Отлично! Дело пошло! Огромнейшее спасибо! Всё оказалось проще чем я думал, и оказалось что не туда копал. Завтра доделаю и выложу. Мало ли кому понадобится. Еще раз спасибо!