Загрузка данных
сделай задание и обьясни
1.В директории раздаточного материала (Программирование в PHP – Раздаточный
материал – Практическая работа №29 – Задание №1) вам предложен файл team.json.
Файл получен автоматическим экспортом строк таблицы team базы данных db_music
в JSON-объект.
Напишите скрипт, получающий содержимое файла. Декодируйте JSON в
ассоциативный массив PHP. Для получения ассоциативного массива используйте
второй аргумент функции json_decode: json_decode($json, true);
Выведите в браузер и изучите структуру массива. Отделите служебную от
полезной информации массива. Передайте в строке запроса GET-параметром
идентификатор строки массива (таблицы) team для вывода в браузер.
Используя функцию print_r() выведите запрошенную запись.
index.php(<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Программирование на языке PHP</title>
</head>
<body>
</body>
</html>)
team.json([
{"type":"header","version":"5.1.3","comment":"Export to JSON plugin for PHPMyAdmin"},
{"type":"database","name":"db_music"},
{"type":"table","name":"team","database":"db_music","data":
[
{"id_team":"1","name":"Aerosmith","alias":"aerosmith","country":"США","content":"","date":"1970","style":"хард-рок","path":"\/assets\/teams\/aerosmith.jpg","note":null},
{"id_team":"2","name":"Pink Floyd","alias":"pink-floyd","country":"Великобритания","content":"","date":"1965","style":"психоделический-рок","path":"\/assets\/teams\/pink-floyd.jpg","note":null},
{"id_team":"3","name":"The Beatles","alias":"the-beatles","country":"Великобритания","content":"","date":"1960","style":"рок-н-ролл","path":"\/assets\/teams\/beatles.jpg","note":null},
{"id_team":"4","name":"AC\/DC","alias":"ac-dc","country":"Австралия","content":"","date":"1973","style":"хард-блюз-рок","path":"\/assets\/teams\/acdc.jpg","note":null},
{"id_team":"5","name":"Scorpions","alias":"scorpions","country":"ФРГ","content":"","date":"1965","style":"хард-рок","path":"\/assets\/teams\/scorpions_.jpg","note":null},
{"id_team":"6","name":"Ленинград","alias":"ленинград","country":"Россия","content":"","date":"1997","style":"ска, фолк, панк","path":"\/assets\/teams\/leningrad.jpg","note":null}
]
}
]
)
2.
album.json([
{"type":"header","version":"5.1.3","comment":"Export to JSON plugin for PHPMyAdmin"},
{"type":"database","name":"db_music"},
{"type":"table","name":"album","database":"db_music","data":
[
{"id_album":"1","name":"The Dark Side of the Moon","alias":"the-dark-side-of-the-moon","country":"Великобритания","content":"","date":"1973","path":"\/assets\/albums\/the-dark-side-of-the-moon.jpg","note":null,"id_team":"2"},
{"id_album":"2","name":"Wish You Were Here","alias":"wish-you-were-here","country":"Великобритания","content":"","date":"1975","path":"\/assets\/albums\/wish-you-were-here.jpg","note":null,"id_team":"2"},
{"id_album":"3","name":"Greatest Hits","alias":"greatest-hits","country":"США","content":"","date":"1999","path":"\/assets\/albums\/greatest-hits-pink-floyd.jpg","note":null,"id_team":"2"},
{"id_album":"4","name":"Abbey Road","alias":"abbey-road","country":"Великобритания","content":"","date":"1969","path":"\/assets\/albums\/abbey-road.jpg","note":null,"id_team":"3"},
{"id_album":"5","name":"A Hard Day's Night","alias":"a-hard-days-night","country":"Великобритания","content":"","date":"1964","path":"\/assets\/albums\/a-hard-days-night.jpg","note":null,"id_team":"3"},
{"id_album":"6","name":"Back in Black","alias":"back-in-black","country":"США","content":"","date":"1980","path":"\/assets\/albums\/Back_in_Black.svg","note":null,"id_team":"4"},
{"id_album":"7","name":"Highway to Hell","alias":"highway-to-hell","country":"Австралия","content":"","date":"1979","path":"\/assets\/albums\/highway-to-hell.jpg","note":null,"id_team":"4"},
{"id_album":"8","name":"The Razors Edge","alias":"the-razors-edge","country":"Австралия","content":"","date":"1990","path":"\/assets\/albums\/the-razors-edge.jpg","note":null,"id_team":"4"},
{"id_album":"9","name":"Let There Be Rock","alias":"let-there-be-rock","country":"ФРГ","content":"","date":"1977","path":"\/assets\/albums\/let-there-be-rock.jpg","note":null,"id_team":"4"},
{"id_album":"10","name":"Rocks","alias":"rocks","country":"Великобритания","content":"","date":"1982","path":"\/assets\/albums\/rocks.jpg","note":null,"id_team":"1"},
{"id_album":"11","name":"Strange Days","alias":"strange-days","country":"США","content":"","date":"1967","path":"\/assets\/albums\/strange-days.jpg","note":null,"id_team":"0"},
{"id_album":"12","name":"L.A. Woman","alias":"la-woman","country":"США","content":"","date":"1971","path":"\/assets\/albums\/la-woman.jpg","note":null,"id_team":"0"},
{"id_album":"13","name":"Greatest Hits","alias":"greatest-hits","country":"США","content":"","date":"1978","path":"\/assets\/albums\/greatest-hits-beatles.jpg","note":null,"id_team":"3"}
]
}
]
)
index.php(<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Программирование на языке PHP</title>
</head>
<body>
<?php
// формируем строку формы для вывода
$out = <<<HERE
<h2>Добавить новый альбом</h2>
<p>
<form action="server.php?id=7" method="post">
Название: <input type="text" value=""><p>
Псевдоним: <input type="text" value=""><p>
Страна: <input type="text" value="Россия"><p>
Описание: <input type="text" value=""><p>
Год выхода: <input type="text" value=""><p>
Примечание: <input type="text" value=""><p>
<input type='submit'>
</form>
HERE;
// вывод формы
echo $out;
?>
</body>
</html>)
server.php(<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Программирование на языке PHP</title>
</head>
<body>
<?php
// ...
?>
</body>
</html>)
3.
album.json([
{"type":"header","version":"5.1.3","comment":"Export to JSON plugin for PHPMyAdmin"},
{"type":"database","name":"db_music"},
{"type":"table","name":"album","database":"db_music","data":
[
{"id_album":"1","name":"The Dark Side of the Moon","alias":"the-dark-side-of-the-moon","country":"Великобритания","content":"","date":"1973","path":"\/assets\/albums\/the-dark-side-of-the-moon.jpg","note":null,"id_team":"2"},
{"id_album":"2","name":"Wish You Were Here","alias":"wish-you-were-here","country":"Великобритания","content":"","date":"1975","path":"\/assets\/albums\/wish-you-were-here.jpg","note":null,"id_team":"2"},
{"id_album":"3","name":"Greatest Hits","alias":"greatest-hits","country":"США","content":"","date":"1999","path":"\/assets\/albums\/greatest-hits-pink-floyd.jpg","note":null,"id_team":"2"},
{"id_album":"4","name":"Abbey Road","alias":"abbey-road","country":"Великобритания","content":"","date":"1969","path":"\/assets\/albums\/abbey-road.jpg","note":null,"id_team":"3"},
{"id_album":"5","name":"A Hard Day's Night","alias":"a-hard-days-night","country":"Великобритания","content":"","date":"1964","path":"\/assets\/albums\/a-hard-days-night.jpg","note":null,"id_team":"3"},
{"id_album":"6","name":"Back in Black","alias":"back-in-black","country":"США","content":"","date":"1980","path":"\/assets\/albums\/Back_in_Black.svg","note":null,"id_team":"4"},
{"id_album":"7","name":"Highway to Hell","alias":"highway-to-hell","country":"Австралия","content":"","date":"1979","path":"\/assets\/albums\/highway-to-hell.jpg","note":null,"id_team":"4"},
{"id_album":"8","name":"The Razors Edge","alias":"the-razors-edge","country":"Австралия","content":"","date":"1990","path":"\/assets\/albums\/the-razors-edge.jpg","note":null,"id_team":"4"},
{"id_album":"9","name":"Let There Be Rock","alias":"let-there-be-rock","country":"ФРГ","content":"","date":"1977","path":"\/assets\/albums\/let-there-be-rock.jpg","note":null,"id_team":"4"},
{"id_album":"10","name":"Rocks","alias":"rocks","country":"Великобритания","content":"","date":"1982","path":"\/assets\/albums\/rocks.jpg","note":null,"id_team":"1"},
{"id_album":"11","name":"Strange Days","alias":"strange-days","country":"США","content":"","date":"1967","path":"\/assets\/albums\/strange-days.jpg","note":null,"id_team":"0"},
{"id_album":"12","name":"L.A. Woman","alias":"la-woman","country":"США","content":"","date":"1971","path":"\/assets\/albums\/la-woman.jpg","note":null,"id_team":"0"},
{"id_album":"13","name":"Greatest Hits","alias":"greatest-hits","country":"США","content":"","date":"1978","path":"\/assets\/albums\/greatest-hits-beatles.jpg","note":null,"id_team":"3"}
]
}
]
)
index.php(<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Программирование на языке PHP</title>
</head>
<body>
<?php
// ! для вывода не забудьте передать GET-параметр
// пример URL
// php-course/?id=2
// ...
// шаблон для вывода формы
$out = <<<HERE
<h2>Альбом {}</h2>
<p>
<form action="" method="post">
Идентификатор: <input type="text" value="{}"><p>
Название: <input type="text" value="{}"><p>
Псевдоним: <input type="text" value="{}"><p>
Страна: <input type="text" value="{}"><p>
Описание: <input type="text" value="{}"><p>
Год выхода: <input type="text" value="{}"><p>
<!-- ключ для связи с массивом/таблицей team -->
Внешний ключ: <input type="text" value="{}"><p>
<input type="submit">
</form>
HERE;
echo $out;
?>
</body>
</html>)