вот мой первый вопрос по stackoverflow. Я обычно пытаюсь найти ответ самостоятельно, но на этот раз я застрял.
сначала немного о себе: у меня нет глубоких знаний о php, однако я ежедневно работаю с css и html. у меня есть хорошее понимание того, как работают циклы, если для операторов while и подобных (немного работал с python и pascal за эти годы). Сейчас я пытаюсь расширить свои знания в области веб-дизайна с помощью php.
в качестве упражнения для себя, я сейчас пытаюсь создать свою собственную библиотеку фильмов. я сделал это уже в html (привет бесполезная работа) и теперь я конвертирую его в php / simplexml.
Глядя на php.net и другие онлайн-ресурсы, мне удалось создать следующую структуру:
XML
<film>
<title>Great Movie</title>
<link>http://imdb.com/#</link>
<poster>img-name</poster>
<year>2012</year>
</film>
повторяется для каждого фильма, который у меня есть, и, конечно, все внутри корневого тега <film></film>
php вместо этого выглядит следующим образом:
<ul>
<?php
$xml = new SimpleXMLElement ('database.xml',NULL,true);
foreach($xml->film as $movie)
{
echo "<li>\n";
echo "<div class=\"film_container\">\n";
echo "<div class=\"poster\">\n";
echo "<a href=\"".$movie->link."\"><img src=\"img/".$movie->poster.".jpg\" /></a>\n";
echo "</div>";
echo "<div class=\"info\">\n";
echo "<h2>".$movie->title."</h2>\n";
echo "<p>".$movie->year."</p>\n";
echo "</div>\n";
echo "</div>\n";
echo "</li>\n";
}
?>
</ul>
опять же, очень просто. это просто позволило мне разметить всю необходимую информацию, а затем оформить их с помощью CSS.
Теперь начинается сложная часть. поскольку в моей html-библиотеке уже было более 200 фильмов, все они были перечислены вручную в алфавитном порядке (да, я знаю ..), и было бы довольно бессмысленно начинать добавлять новые записи без порядка, но для дальнейшего использования я хотел чтобы узнать, есть ли способ, просто добавив новую запись в конце xml, она автоматически помещается в нужное место при прохождении цикла.
Я довольно широко просматривал Интернет, и да, я нашел несколько решений для сортировки записей в алфавитном порядке, но они сработали, когда вы распечатали результат сортировки (например, я сортирую все фильмы по имени, затем могу распечатать весь список фильмов, отсортированных в алфавитном порядке с помощью функции var_dump), но я абсолютно не знаю, что добавить в оператор foreach после того, как я отсортировал их, чтобы снова просмотреть xml и прочитать каждый из них по отдельности.
заранее всем спасибо за то, что просто прочитали мою стену текста. Извините, если я написал слишком много, но я не знал, как еще объяснить себя. Я совершенно уверен, что ответом будет что-то в строке: «Это очень просто, вы просто пропустили эту часть в руководстве».