我有一个SQL语句,它获取信息并将其放入XML节点。其中一个节点是图像。在此节点中,需要有一个我从数据库中获取的URL列表。
我目前正在尝试的是我的原始查询:
SELECT ultrait_wpl_properties.id, location1_name, location3_name, location4_name, field_312, field_42, post_code, lot_area, living_area, price, bedrooms, bathrooms, field_308, googlemap_lt, googlemap_ln, street, street_no, ultrait_wpl_property_types.name, property_title, build_year, add_date, ultrait_wpl_items.item_name
FROM ultrait_wpl_properties
JOIN ultrait_wpl_property_types ON ultrait_wpl_properties.property_type = ultrait_wpl_property_types.id
JOIN ultrait_wpl_items ON ultrait_wpl_properties.id = ultrait_wpl_items.parent_id
ORDER BY ultrait_wpl_properties.id
然后,当我到达我想要的节点时,我有这个查询
$sqli = "SELECT item_name
FROM ultrait_wpl_items, ultrait_wpl_properties
WHERE ultrait_wpl_items.parent_id = ultrait_wpl_properties.id
AND ultrait_wpl_properties.id = $propertyid";
$results = $wpdb->get_results($sqli);
foreach($results as $row){ // foreach loop to iterate over the data in the $result array
$images = $row->item_name;
}
我尝试做的是生成其他节点所需的数据,如此......
<root>
<property>
<id>5</id>
<area>United States</area>
<country/>
<city/>
<town>Property in Spain</town>
<towninner/>
<postcode/>
<lot_area>10000</lot_area>
<living_area>4000</living_area>
<price>100000</price>
<bedrooms>0</bedrooms>
<bathrooms>2</bathrooms>
<summary><p>Description</p></summary>
<latitude>21.3239718</latitude>
<longlitude>-157.87649799999997</longlitude>
<street/>
<streetno/>
<type>Office</type>
<property_title/>
<build_year>1978</build_year>
<add_date>2015-01-13 16:48:08</add_date>
<imageurl></imageurl>
</property>
但是,如果它说imageurl你可以看到一个项目。每个属性可能附有多张图片。
当我进入imageurl时,我尝试了你能看到的第二个代码块,我瞄准的是这样的:
<imageurl>link 1</imageurl>
<imageurl>link 2</imageurl>
<imageurl>link 3</imageurl>
<imageurl>link 4</imageurl>
但之所以这很困难是因为我的原始查询返回了一个重复的属性节点,只有下一个URL。我需要每个ID一个属性节点,但是在imageurl节点中需要多个图片。
答案 0 :(得分:0)
您应该尝试拆分查询。将imageurl部分分开进行,特别是如果您已将这些图像存储在各自的行中。