Представьте, что у вас есть xml.file с 80 продуктами в магазине (это будет лента новостей, но я не хочу путать вопрос)
В 80 продуктах много элементов, таких как
<product>
<price> millions </price>
<colour> red </colour>
<pictures> <pic> picture1_url </pic> <pic> picture2_url </pic>
<pic>picture3_url </pic>
</pictures>
</product >
Ваш клиент хочет использовать .xml на веб-странице / в приложении, где его клиенты могут искать данные по цене и цвету с помощью формы поиска и просматривать «множество» изображений, вложенных в основной элемент «product».».
Мой вопрос таков: должен ли я сохранять данные в реляционной таблице со столбцами для каждого элемента (реляционные, потому что есть много изображений, которые, как я полагаю, должны будут иметь внешний ключ с идентификатором продукта.
Я был в состоянии использовать dom / simple_xml для отображения продуктов на странице без необходимости в базе данных, но у меня возникло неприятное чувство, я должен поместить данные в БД, чтобы я мог легче запрашивать их с помощью операторов выбора mysql.
Я даже поговорил с разработчиком и увидел в мета-таблицах WordPress, что URL-адреса для картинок хранятся в одной таблице через запятую. Я думал, что это очень плохая практика в БД-земле?
Проблема, кажется, оченьТрудно прикрепить внешний ключ к 1 идентификатору, когда у меня есть много других картинок, которые можно связать с этим идентификатором ... (последний код, кажется, запутывается при foreach / зацикливании продуктов.
Вот мой код, но я полагаю,бесполезно, если я решу пойти по маршруту и не нужно помещать данные в базу данных.
$xml = simplexml_load_file('products.xml') or die("can not find it");
foreach($xml->product as $row){
$price = $row->price
$colour =$row->colour
$pictures = $row->pictures
$sql= insert into products table
}