La fonction sql_countsel()
retourne le nombre de lignes d’une sélection demandée. C’est un raccourci d’écriture à peu près équivalent à sql_select('COUNT(*)', ...)
.
Elle prend les mêmes arguments que sql_select()
moins le premier :
-
$from
, -
$where
, -
$groupby
, -
$having
, -
$serveur
, -
$option
.
Elle s’utilise comme ceci :
$nombre = sql_countsel("table");
Exemple
Compter le nombre de mots d’un groupe de mot donné :
$groupe = sql_countsel("spip_mots", "id_groupe=$id_groupe");
Retourner false
s’il y a des articles dans une rubrique :
if (sql_countsel('spip_articles', array(
"id_rubrique=$id_rubrique",
"statut <> 'poubelle'"
))) {
return false;
}
Si la table spip_notations_objets
du plugin « Notations » ne contient pas encore d’entrée pour l’identifiant d’objet indiqué, on effectue une insertion dans la base, sinon une mise à jour :
// Mise a jour ou insertion ?
if (!sql_countsel("spip_notations_objets", array(
"objet=" . sql_quote($objet),
"id_objet=" . sql_quote($id_objet),
))) {
// Remplir la table de notation des objets
sql_insertq("spip_notations_objets", ...);
// ...
} else {
// Mettre ajour dans les autres cas
sql_updateq("spip_notations_objets", ...);
// ...
}