Реальная проблема с логикой для вставки элементов xml в mysql db с помощью php.Я нашел ВСЕ примеры только когда-либо использовать 1 таблицу (легко).мне нужно иметь таблицу для элементов свойств, а затем таблицу для хранения множества изображений, которые вложены в файл XML другого уровня.
У изображений должен быть внешний ключ, связанный с отдельным property_id.Мне удалось сделать это с помощью insert_last_id, но он вставил только 1 изображение .. не много, которые прикреплены под элементом.(который является URL, а не JPEG), так что просто столбец varchar.)
Любая помощь будет благодарна.(будут использоваться подготовленные операторы, я только что начал так)
// загружать в xml
$ xml = simplexml_load_file ('propertieshort.xml') или die ("не могу найти его");
// перебирает каждое свойство и вставляет выбранные переменные $.
foreach($xml->branches->branch->properties->property as $row){
$price_text = (string)$row->numeric_price;
$bedrooms = (int)$row->bedrooms;
$priority =(string)$row->priority;
$advert_heading = (string)$row->advert_heading;
$brochure = (string)$row->brochure;
$sql = "INSERT INTO properties( price_text, bedrooms, priority,
advert_heading, brochure) VALUES ('". $price_text ."','". $bedrooms ."','".
$priority ."','". $advert_heading ."','". $brochure ."')";
// играем с этим, но безуспешно связываем property_id со многими изображениями $ prop_id = mysqli_insert_id ($ conn);
// пытаемся зациклить множество изображений, связанных с каждым свойствомforeach ($ xml-> branch-> branch-> properties-> property-> pictures-> picture as $ row)
$pictures = (string)$rows->filename;
$sql2 = "INSERT INTO pictures(property_id, filename) VALUES ('". $prop_id
."' , '". $pictures ."')";
//i just print to html for testing not insert into db
print_r($sql);
echo"<br><br>", print_r($sql2);echo"<br><br>";
<?xml version="1.0" encoding="ISO-8859-1" ?>
<agency>
<branches>
<branch name=" Baxters Bath">
<properties>
<property reference="BB00000285">
<availableFrom>02/12/2011 00:00:00</availableFrom>
<department>Agricultural</department>
<propertyofweek>NO</propertyofweek>
<price_text>OIRO £749,950</price_text>
<numeric_price>749950.0000</numeric_price>
<bedrooms>4</bedrooms>
<receptions>2</receptions>
<bathrooms>0</bathrooms>
<priority>Exchanged</priority>
<tenure>Leasehold</tenure>
<advert_heading>A superbly presented four bedroom two bathroom semi detached family house.</advert_heading>
<main_advert>A superbly presented four bedroom two bathroom semi detached family house. The property has been extended to offer large ground floor accomodation and also benifits from a workshop/ office at the rear of the garden.
<a href="http://www.google.co.uk" target="_blank">this is a link</a></main_advert>
<advert2>A superbly presented four bedroom two bathroom semi detached family house. The property has been extended to offer large ground floor accomodation and also benifits from a workshop/ office at the rear of the garden.
<a href="http://www.google.co.uk" target="_blank">this is a link</a></advert2>
<advert3 />
<advert4 />
<advert5 />
<advert6 />
<house_number>11</house_number>
<street>Murhill</street>
<district>Limpley Stoke</district>
<town>Bath</town>
<county />
<postcode>BA2 7FG</postcode>
<country>UK </country>
<area>Bath City Centre</area>
<bullet1 />
<bullet2 />
<bullet3 />
<bullet4 />
<bullet5 />
<bullet6 />
<bullet7 />
<bullet8 />
<bullet9 />
<bullet10 />
<bullet11 />
<bullet12 />
<bullet13 />
<bullet14 />
<bullet15 />
<bullet16 />
<bullet17 />
<bullet18 />
<bullet19 />
<bullet20 />
<brochure />
<epc />
<hips />
<filename3 />
<filename4 />
<filename5 />
<filename6 />
<virtual_tour_url />
<property_type>House</property_type>
<commercial_type> Dairy Unit</commercial_type>
<property_style>Semi Detached</property_style>
<property_reference>367268</property_reference>
<newHome>NO</newHome>
<noChain>NO</noChain>
<furnished>Unknown</furnished>
<rooms />
<pictures>
<picture name="Front">
<filename>http://www.expertagent.co.uk/in4glestates/{76C20EAB-0589-4AEB-A7BE-CE3182F07285}/{3CCBEC59-BBE0-4DFE-864C-582BDAB5C577}/7A.jpg</filename>
</picture>
<picture name="Dining Room">
<filename>http://www.expertagent.co.uk/in4glestates/{76C20EAB-0589-4AEB-A7BE-CE3182F07285}/{3CCBEC59-BBE0-4DFE-864C-582BDAB5C577}/7B.jpg</filename>
</picture>
<picture name="Garden">
<filename>http://www.expertagent.co.uk/in4glestates/{76C20EAB-0589-4AEB-A7BE-CE3182F07285}/{3CCBEC59-BBE0-4DFE-864C-582BDAB5C577}/7D.jpg</filename>
</picture>
<picture name="Photo 5">
<filename>http://www.expertagent.co.uk/in4glestates/{76C20EAB-0589-4AEB-A7BE-CE3182F07285}/{3CCBEC59-BBE0-4DFE-864C-582BDAB5C577}/HH002070.JPG</filename>
</picture>
</pictures>
<floorplans />
</property>
</properties>
</branch>
</branches>
</agency>