17/05/2010, 09:58:09
Super, ça m'est effectivement très utile !
Maintenant, j'ai ça:
//Retourne une liste des champs qui sont de type checkbox
//Normalement, ce sont des thèmes
$liste_themes = array();
//pour pouvoir travailler avec les objets, classes et méthodes du cms
global $gCms;
//connection à la bd cms
$db = &$gCms->GetDb();
$query = "SELECT name FROM cms_module_news_fielddefs WHERE type='checkbox' ORDER BY item_order";
//exécution de la requête
$dbresult = &$db->Execute($query);
while ($dbresult && !$dbresult->EOF) {
$liste_themes[] = $dbresult->fields['name'];
//enregistrement suivant
$dbresult->MoveNext();
}
//on ferme la connection
if ($dbresult) $dbresult->Close();
Je comptais faire un foreach sur ma liste de thèmes et, à l'intérieur, faire un foreach sur mes articles. Mais n'ai-je pas meilleur temps de faire une liste des articles dans une requête à la base de donnée plutôt que d'itérer X fois sur tous les articles ? (X étant fixe et compris en 5 et 10, donc pas énorme de toute façon) Il me semble que ça reviendrait au même... Bref, mes dernières questions tiennent tjs.
Maintenant, j'ai ça:
//Retourne une liste des champs qui sont de type checkbox
//Normalement, ce sont des thèmes
$liste_themes = array();
//pour pouvoir travailler avec les objets, classes et méthodes du cms
global $gCms;
//connection à la bd cms
$db = &$gCms->GetDb();
$query = "SELECT name FROM cms_module_news_fielddefs WHERE type='checkbox' ORDER BY item_order";
//exécution de la requête
$dbresult = &$db->Execute($query);
while ($dbresult && !$dbresult->EOF) {
$liste_themes[] = $dbresult->fields['name'];
//enregistrement suivant
$dbresult->MoveNext();
}
//on ferme la connection
if ($dbresult) $dbresult->Close();
Je comptais faire un foreach sur ma liste de thèmes et, à l'intérieur, faire un foreach sur mes articles. Mais n'ai-je pas meilleur temps de faire une liste des articles dans une requête à la base de donnée plutôt que d'itérer X fois sur tous les articles ? (X étant fixe et compris en 5 et 10, donc pas énorme de toute façon) Il me semble que ça reviendrait au même... Bref, mes dernières questions tiennent tjs.