ich benötige eine Artikelliste, in der auch jeweils ein Teil der Inhalte mit ausgegeben wird. Für die Abfrage der Daten habe ich bisher (also in Redaxo 4.x) immer folgende SQL-Syntax verwendet:
Code: Alles auswählen
$res = $sql->getArray('SELECT * FROM '.$REX['TABLE_PREFIX'].'article_slice WHERE article_id IN (' . $sql_array . ') and modultyp_id=' . $modulid . ' ORDER BY value20 DESC');
Code: Alles auswählen
$res = $sql->getArray('SELECT * FROM ' . rex::getTablePrefix() . 'article_slice WHERE article_id IN (' . $sql_array . ') and module_id=' . $modul_id . ' ORDER BY value20 DESC LIMIT 3');
Kann mir hier vielleicht jemand auf die Sprünge helfen?Warning: Field "article_id" does not exist in result! in [...]/redaxo/src/core/lib/sql/sql.php on line 583
Warning: Field "value2" does not exist in result! in [...]/redaxo/src/core/lib/sql/sql.php on line 583
Warning: Field "value4" does not exist in result! in [...]/redaxo/src/core/lib/sql/sql.php on line 583
Ich hab hier mal den entsprechenden Auszug aus meinem Modul-Code:
Code: Alles auswählen
$news_cat_id = 'REX_LINK[1]';
$modul_id = 3;
$art_ids = array();
// Artikel der aktuellen Kategorie holen
$articles = rex_category::get($news_cat_id)->getArticles();
// Array aus Artikel-IDs
if (count($articles)) {
foreach ($articles as $article) {
if ($article->getValue('status') != 0) { // Artikel ist online
if ($article instanceof rex_article && !$article->isStartArticle()) {
$art_ids[] = $article->getValue('id');
}
}
}
}
print_r($art_ids); // Zur Überprüfung des Arrays -> gibt die richtigen Werte aus.
// Daten aus DB holen
$sql_array = implode(',',$art_ids);
$sql = rex_sql::factory();
$res = $sql->getArray('SELECT * FROM ' . rex::getTablePrefix() . 'article_slice WHERE article_id IN (' . $sql_array . ') and module_id=' . $modul_id . ' ORDER BY value20 DESC LIMIT 3');
if($sql->getRows()) {
while($sql->hasNext()) {
$t_id = $sql->getValue('article_id');
$t_head = $sql->getValue('value2');
$t_copy = $sql->getValue('value4');
[ ... ]
$sql->next(); // nächster Eintrag laden.
}
}
Gruß, Michael