Verification: a143cc29221c9be0

Open json file with php

Файл PHP

PHP имеет несколько встроенных функций для обработки JSON.

Объекты в PHP можно преобразовать в JSON с помощью функции PHP json_encode():

PHP Файл

$myObj->name = "John";
$myObj->age = 30;
$myObj->city = "New York";

$myJSON = json_encode($myObj);

echo $myJSON;
?>

Показать файл PHP »

Клиентский JavaScript

Вот код JavaScript на клиенте, использующий вызов AJAX для запроса файла PHP из приведенного выше примера:

Пример

Используйте JSON.parse() для преобразования результата в объект JavaScript:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    var myObj = JSON.parse(this.responseText);
    document.getElementById("demo").innerHTML = myObj.name;
  }
};
xmlhttp.open("GET", "demo_file.php", true);
xmlhttp.send();

Попробуйте сами »



Массив PHP

Массивы в PHP также будут преобразованы в JSON при использовании функции PHP json_encode():

PHP Файл

$myArr = array("John", "Mary", "Peter", "Sally");

$myJSON = json_encode($myArr);

echo $myJSON;
?>

Показать файл PHP »

Клиентский JavaScript

Вот код JavaScript на клиенте, использующий вызов AJAX для запроса файла PHP из приведенного выше примера массива:

Пример

Используйте JSON.parse(), чтобы преобразовать результат в массив JavaScript:

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    var myObj = JSON.parse(this.responseText);
    document.getElementById("demo").innerHTML = myObj[2];
  }
};
xmlhttp.open("GET", "demo_file_array.php", true);
xmlhttp.send();

Попробуйте сами »


База данных PHP

PHP - это серверный язык программирования, который может использоваться для доступа к базе данных.

Представьте, что у вас есть база данных на вашем сервере, и вы хотите послать ей запрос от клиента, где вы запрашиваете первые 10 строк в таблице под названием "клиенты".

На клиенте создайте объект JSON, который описывает количество строк, которые вы хотите вернуть.

Прежде чем отправлять запрос на сервер, преобразуйте объект JSON в строку и отправьте его в качестве параметра на URL адрес страницы PHP:

Пример

Используйте JSON.stringify() для преобразования объекта JavaScript в JSON:

obj = { "limit":10 };
dbParam = JSON.stringify(obj);
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    document.getElementById("demo").innerHTML = this.responseText;
  }
};
xmlhttp.open("GET", "json_demo_db.php?x=" + dbParam, true);
xmlhttp.send();

Попробуйте сами »

Объяснение примера:

  • Определите объект, содержащий свойство и значение "limit".
  • Преобразуйте объект в строку JSON.
  • Отправьте запрос к файлу PHP со строкой JSON в качестве параметра.
  • Подождите, пока запрос вернется с результатом (как JSON)
  • Отобразите результат, полученный из файла PHP.

Взгляните на файл PHP:

PHP файл

header("Content-Type: application/json; charset=UTF-8");
$obj = json_decode($_GET["x"], false);

$conn = new mysqli("myServer", "myUser", "myPassword", "Northwind");
$stmt = $conn->prepare("SELECT name FROM customers LIMIT ?");
$stmt->bind_param("s", $obj->limit);
$stmt->execute();
$result = $stmt->get_result();
$outp = $result->fetch_all(MYSQLI_ASSOC);

echo json_encode($outp);
?>

Объяснение файла PHP:

  • Преобразуйте запрос в объект, используя функцию PHP json_decode().
  • Получите доступ к базе данных и заполните массив запрошенными данными.
  • Добавьте массив к объекту и верните объект как JSON с помощью функции json_encode().

Цикл через результат

Преобразуйте результат, полученный из файла PHP, в объект JavaScript или, в данном случае, массив JavaScript:

Пример

Используйте JSON.parse() для преобразования JSON в объект JavaScript:

...
xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    myObj = JSON.parse(this.responseText);
    for (x in myObj) {
      txt += myObj[x].name + "
";
    }
    document.getElementById("demo").innerHTML = txt;
  }
};
...

Попробуйте сами »


Используйте AJAX для передачи переменной PHP в JavaScript

Мы можем использовать AJAX для передачи данных и переменных с PHP-сервера в JavaScript. Этот метод имеет отдельные серверные и клиентские сценарии. Это делает код чище и улучшает читаемость кода. AJAX означает асинхронный JavaScript и XML. Он использует объект XMLHttpRequest для запроса данных с сервера. Он отображает данные с использованием JavaScript и HTML DOM. Этот процесс происходит асинхронно, что означает, что изменения на веб-странице происходят без ее перезагрузки. Однако при использовании AJAX в сетях возникает задержка, поскольку он отправляет HTTP-запрос. В этом методе мы пишем код JavaScript в файле PHP.

Например, создайте файл PHP с именем index.php. Напишите код JavaScript внутри тега . Создайте переменную req, используя ключевое слово var. Создайте объект запроса функции XMLHttpRequest() и присвойте его переменной req. Вызвать функцию onload() с объектом req, используя выражение функции. Внутри функции используйте функцию console.log() для регистрации свойства this.responseText. Не забывайте заканчивать выражение функции точкой с запятой. Используйте объект req для вызова функции open(). Задайте get, get-data.php и true одновременно в качестве параметров функции. Вызвать функцию send() с объектом req. Создайте еще один файл PHP с именем get-data.php. Присвойте переменной var значение Mountain. Повторите функцию json_encode() с параметром var.

В приведенном ниже примере мы создали объект запроса с помощью функции XMLHttpRequest(). Функция onload() обрабатывает операцию, которая будет выполняться во время ответа. Функция open() определяет метод HTTP, файл PHP, который отправляет ответ JSON, и логическое значение, которое контролирует остальную часть выполнения скрипта. Функция json_encode() в файле get-data.php отправляет ответ в формате JSON. Здесь мы напечатали в консоли переменную $var.

Пример кода:

# php 7.*
# php 7.*

Выход:

"Mountain"

Используйте JavaScript, чтобы избежать сценариев PHP для передачи переменной PHP в JavaScript

Мы можем использовать JavaScript после тегов PHP, чтобы избежать сценариев PHP. Мы можем создать переменную PHP в скрипте PH P. Затем мы можем написать JavaScript, чтобы избежать написанного выше PHP и передать переменную внутри кода JavaScript. Внутри JavaScript мы можем использовать тег PHP, чтобы отобразить переменную PHP, назначив ее переменной JavaScript.

Например, присвоить значение Metallica переменной $var внутри тегов PHP. Напишите тег скрипт и внутри него напишите тег PHP. Внутри тега PHP отобразите переменную JavaScript jsvar. Назначьте переменную PHP $var на jsvar. Не забудьте заключить в кавычку $var и точку с запятой после нее. Закройте тег PHP и зарегистрируйте значение jsvar с помощью функции console.log(). Закройте тег скрипт. В приведенном ниже примере мы зарегистрировали переменную PHP $var в консоли с помощью JavaScript. Мы видим вывод в консоли веб-страницы.

Пример кода:

#php 7.x

Выход:

Metallica