PHP и dataset

#php

#php

Вопрос:

Я пересматриваю свои знания php. У меня есть external.js файл, в котором есть записи в нем.

 var data = [{

"id": "71002",
"fullName": "Chenz",
"title": "Mechanical Engineer",
"reportTo": "Structural Manager",
"Reportingday": "2017-01-01T09:00:00.000Z" }, .....so on
  

Мне нужно создать html / php страницу из этой записи и перечислить все приведенные выше данные. Как я этого добьюсь?

Спасибо.

Комментарии:

1. Написав некоторый код. Продолжайте и попробуйте. Когда вы застряли на чем-то конкретном , вы можете опубликовать вопрос об этом и указать, что вы пробовали, ожидаемый результат и фактический результат.

2. Лучший способ, которым вы должны отделить эти данные в файл json. Это простой способ совместно использовать одни и те же данные в php и js коде. Почитайте о движке шаблонов twig, это потрясающе twig.symfony.com

3. php.net/json_decode вероятно, пригодится (при некоторой работе).

4. Я просто ищу отправную точку. Мой мозг застрял сейчас. Я написал код $show_data = file_get_contents(‘external.js ‘); echo $show_data;

5. Вам нужно будет использовать строковые функции (strpos, substr), чтобы удалить часть javascript, чтобы это был просто json. Или используйте javascript для вывода данных в виде простого json без var data = . Затем обработайте это.

Ответ №1:

Ваши данные:

 var data = [{"id": "71002","fullName": "Chenz","title": "Mechanical Engineer","reportTo": "Structural Manager","Reportingday": "2017-01-01T09:00:00.000Z" },
  

Похоже, это JSON. Вам следует взглянуть на функции json_decode() и json_encode(). Он преобразует JSON в массив, а массив в JSON. Получив массив, вы можете легко использовать его для создания веб-страниц.

http://php.net/manual/en/function.json-decode.php

http://php.net/manual/en/function.json-encode.php

 <?php $myData = json_decode('data = [{"id": "71002","fullName": "Chenz","title": "Mechanical Engineer","reportTo": "Structural Manager","Reportingday": "2017-01-01T09:00:00.000Z" }');
  

Позволило бы вам называть значения примерно так

 echo '<span>'.$myData->data['id'].'</span>';
  

Вернул бы

 <span>71002</span>
  

Вы можете протестировать и просмотреть данные один раз в формате массива с помощью чего-то вроде

 die(print_r($myData));
  

Комментарии:

1. Я попробовал ваше решение моей проблемы, и оно возвращает NULL. эти данные находятся в отдельном вызове file external.js . Он также выдает ошибку, когда я использую $myData-> data, поскольку в нем сказано, что data является недопустимым свойством. Я попытался импортировать его через javascript, и он работает нормально, но мне нужно отсортировать его по алфавиту.

2. Можете ли вы предоставить мне более крупный образец JSON? Вы проверили свой JSON чем-то вроде jsonlint.com . То, что я опубликовал, было псевдокодом. Я плохо знаю ваши данные, и это приблизительное представление о том, что вам нужно сделать. Если вы дадите мне лучший образец, я могу дать вам что-то более точное. Вы также можете попробовать $myData[‘данные’] вместо $myData-> данные. Как только вы выполните $myData = json_decode(), сделайте это… die(print_r($ myData)); Дайте мне первые 10 строк этого вывода, затем я могу показать вам, как это закодировать.