Irgendwie blick ich aber durch den DB-Aufbau noch nicht so ganz durch.
Der erzeugte SQL-Befehl bei aktiviertem Startartikel-Checkbox ist:
Code: Alles auswählen
SELECT tblData.value AS headline, ARTLANG.pagetitle AS pagetitle, ARTLANG.summary AS summary, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart
FROM con1_cat_art AS CATART, con1_art_lang AS ARTLANG, con1_cat_lang AS CATLANG, con1_content AS tblData
WHERE CATART.idcat
IN (
'80', '84', '41', '80'
)
AND ARTLANG.idlang = '1'
AND tblData.idartlang = ARTLANG.idartlang
AND CATLANG.idlang = ARTLANG.idlang
AND CATLANG.idcat = CATART.idcat
AND ARTLANG.idart = CATART.idart
AND ARTLANG.online = '1'
AND tblData.idtype = '1'
AND tblData.typeid = '1'
ORDER BY RAND( ) ASC
LIMIT 0 , 5
Code: Alles auswählen
SELECT tblData.value AS headline, ARTLANG.pagetitle AS pagetitle, ARTLANG.summary AS summary, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart
FROM con1_cat_art AS CATART, con1_art_lang AS ARTLANG, con1_cat_lang AS CATLANG, con1_content AS tblData
WHERE CATART.idcat
IN (
'80', '84', '41', '80'
)
AND ARTLANG.idlang = '1'
AND tblData.idartlang = ARTLANG.idartlang
AND CATLANG.idlang = ARTLANG.idlang
AND CATLANG.idcat = CATART.idcat
AND ARTLANG.idart = CATART.idart
AND tblData.idartlang != CATLANG.startidartlang
AND ARTLANG.online = '1'
AND tblData.idtype = '1'
AND tblData.typeid = '1'
ORDER BY RAND( ) ASC
LIMIT 0 , 5
Der Quelltext im Modul, der die SQL-Abfrage gestaltet ist dieser:
Code: Alles auswählen
$sql = "SELECT tblData.value AS headline, ARTLANG.pagetitle AS pagetitle, ARTLANG.summary AS summary, ARTLANG.idart AS id, ARTLANG.lastmodified AS lastmodified, " ;
$sql .= "ARTLANG.created AS created, ARTLANG.published AS published, CATLANG.name AS category, ";
$sql .= "ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart FROM ";
$sql .= $cfg["tab"]["cat_art"]." AS CATART, ";
$sql .= $cfg["tab"]["art_lang"]." AS ARTLANG, ";
$sql .= $cfg["tab"]["cat_lang"]." AS CATLANG, ";
$sql .= $cfg["tab"]["content"]." AS tblData ";
$sql .= "WHERE CATART.idcat IN (".$sSelCats.") AND ARTLANG.idlang = '".$lang."' ";
$sql .= "AND tblData.idartlang = ARTLANG.idartlang ";
$sql .= "AND CATLANG.idlang = ARTLANG.idlang ";
$sql .= "AND CATLANG.idcat = CATART.idcat ";
$sql .= "AND ARTLANG.idart = CATART.idart ";
if ($aSettings["ShowStart"] != "enabled") {
if ($cfg["is_start_compatible"] == true) {
$sql .= "AND CATART.is_start = '0' ";
} else {
$sql .= "AND tblData.idartlang != CATLANG.startidartlang ";
}
}
$sql .= "AND ARTLANG.online = '1' ";
$sql .= "AND ".$aSettings["HeadlineIdentifier"]." ";
// Sort by
$sql .= "ORDER BY ";
$sql .= $aSettings["SortBy"]." ".$aSettings["SortDir"]." ";
// LIMIT
if ($aSettings["ArticleCount"] > 0) {
$sql .= "LIMIT 0, ".$aSettings["ArticleCount"];
}