我正在尝试创建一个RSS脚本并且有一些问题显示nNr的最低ID以显示cPath(图像)
MySQL数据库似乎就在这里
tartikel
+----------+-------+---------------------+------------+-------+
| kArtikel | cName | cKurzBeschreibung | dErstellt | cSeo |
+----------+-------+---------------------+------------+-------+
| 560 | 12345 | Short Description | 2014-03-25 | 12345 |
+----------+-------+---------------------+------------+-------+
| 561 | ABCDE | Short Description | 2014-03-25 | abcde |
+----------+-------+---------------------+------------+-------+
tartikelpict
+--------------+--------------+-------+
| kartikelpict | cPfad | nNr |
+--------------+--------------+-------+
| 560 | picture4.jpg | 4 |
| 560 | picture3.jpg | 3 |
| 560 | picture2.jpg | 2 |
| 560 | picture.jpg | 1 |
+--------------+--------------+-------+
| 561 | picture4.jpg | 4 |
| 561 | picture3.jpg | 3 |
| 561 | picture2.jpg | 2 |
| 561 | picture.jpg | 1 |
+--------------+--------------+-------+
我的PHP代码
$result = mysql_query('SELECT
p1.kArtikel,
p1.cName,
p1.cKurzBeschreibung,
p1.dLetzteAktualisierung,
p1.dErstellt,
p1.cSeo,
p2.kartikelpict,
p2.nNr,
p2.cPfad
FROM tartikel AS p1
JOIN tartikelpict AS p2
ON (p1.kArtikel = p2.kartikelpict)
JOIN (SELECT kartikelpict ,MIN(nNr) nNr FROM tartikelpict GROUP BY kartikelpict ) p3
ON(p2.kartikelpict = p3.kartikelpict AND p2.nNr = p3.nNr)
ORDER BY p1.kArtikel
DESC LIMIT 50', $connection);
while ($row = mysql_fetch_array($result)){
$cName = $row['cName'];
$cKurzBeschreibung = $row['cKurzBeschreibung'];
$dLetzteAktualisierung = $row['dLetzteAktualisierung'];
$dErstellt = $row['dErstellt'];
$cSeo = $row['cSeo'];
$date = strtotime($row['dErstellt']);
$pubdate = date(r, $date);
$id = $row['kArtikel'];
$nNr = $row['nNr'];
$cPfad = $row['cPfad'];
echo "\t\t" . '<enclosure url="'.$cPath.'" type="image/jpeg" />' . "\n";
结果(应该只是最低的)
<enclosure url="4" />
<enclosure url="3" />
<enclosure url="2" />
<enclosure url="1" />
我认为我无法构建逻辑来获得正确的元素。我必须得到nNr的ID而不是选择cPfad吗?我做错了什么?
经过测试@sqlfiddle (thx to Khalid)后,SQL和表似乎没问题。知道我的代码有什么问题吗?