在PHP SQL RSS中将多个图像添加到项目描述中

时间:2015-03-27 23:43:38

标签: php sql rss

我创建了一个RSS源,我在SQL中从三个表中提取数据。我想在项目描述中添加多个图像但不确定如何在不重复第一个图像的情况下添加其他图像?这是我到目前为止所做的两个图像链接,但两个链接显示相同的图像:

$query = "SELECT 1j0_cddir_jomestate.title, 1j0_cddir_jomestate.fulltext, 1j0_cddir_jomestate.categories_address_id, 1j0_cddir_categories.path, 1j0_cddir_categories.id, 1j0_cddir_jomestate.alias, 1j0_cddir_jomestate.id, 1j0_cddir_images.content_id, 1j0_cddir_images.name, 1j0_cddir_images.path as pathy, 1j0_cddir_images.id as idy ".
                        "FROM 1j0_cddir_jomestate, 1j0_cddir_categories, 1j0_cddir_images ".
                        "WHERE 1j0_cddir_jomestate.categories_address_id = 1j0_cddir_categories.id AND 1j0_cddir_jomestate.id = 1j0_cddir_images.content_id ".
                        "ORDER BY 1j0_cddir_jomestate.id ASC ".
                        "LIMIT 10";
$result = mysql_query($query) or die ("Could not execute query");


    while($row = mysql_fetch_array($result)) {
        extract($row);
        $rssfeed .= '<item>';
        $rssfeed .= '<title>' . htmlspecialchars($row['title'],ENT_IGNORE) . '</title>';
        $rssfeed .= '<description><![CDATA[<img src="/components/com_jomcomdev/images/' . $row['pathy'] . '/' . $row['name'] . '"/><img src="/components/com_jomcomdev/images/' . $row['pathy'] . '/' . $row['name'] . '"/>' . htmlspecialchars($row['fulltext'],ENT_IGNORE) . ']]></description>';
        $rssfeed .= '<link>http://localhost/cprop/for-sale/' . $row['path'] . '/' . $row['id'] . '-' . $row['alias'] . '</link>';
        $rssfeed .= '</item>';
    }
    $rssfeed .= '</channel>';
    $rssfeed .= '</rss>'; 

    echo $rssfeed;
?>

1 个答案:

答案 0 :(得分:0)

您的SQL查询将为每条记录仅返回一个图像。如果有多个图像,则会在响应中创建多个行。

最简单的解决方案是将其分解为两个查询。

查询1

$query = "SELECT 1j0_cddir_jomestate.title, 1j0_cddir_jomestate.fulltext, 1j0_cddir_jomestate.categories_address_id, 1j0_cddir_categories.path, 1j0_cddir_categories.id, 1j0_cddir_jomestate.alias, 1j0_cddir_jomestate.id".
  FROM 1j0_cddir_jomestate, 1j0_cddir_categories ".
 "WHERE 1j0_cddir_jomestate.categories_address_id = 1j0_cddir_categories.id ".
 "ORDER BY 1j0_cddir_jomestate.id ASC ".
 "LIMIT 10";

然后,在检索行后,再进行一次查询:

$query = "SELECT 1j0_cddir_images.content_id, 1j0_cddir_images.name, 1j0_cddir_images.path as pathy, 1j0_cddir_images.id as idy ".
"FROM 1j0_cddir_jomestate, 1j0_cddir_images ".
"WHERE 1j0_cddir_jomestate.id = 1j0_cddir_images.content_id ".
"LIMIT 10";

然后你可以遍历结果,将图像标记输出到第二个结果的每一行的RSS输出。

相关问题