/** * Retourne le nombre de lignes d'une sélection * * @param array|string $from Tables à consulter (From) * @param array|string $where Conditions a remplir (Where) * @param array|string $groupby Critère de regroupement (Group by) * @param array $having Tableau des des post-conditions à remplir (Having) * @param string $serveur Nom de la connexion * @param bool $requeter Exécuter la requête, sinon la retourner * @return int|string * - String Texte de la requête si demandé * - int Nombre de lignes (0 si la requête n'a pas réussie) **/ function spip_mysql_countsel($from = array(), $where = array(), $groupby = '', $having = array(), $serveur = '', $requeter = true) { $c = !$groupby ? '*' : 'DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby)); $r = spip_mysql_select("COUNT({$c})", $from, $where, '', '', '', $having, $serveur, $requeter); if (!$requeter) { return $r; } if (!$r instanceof mysqli_result) { return 0; } list($c) = mysqli_fetch_array($r, MYSQLI_NUM); mysqli_free_result($r); return $c; }
function spip_mysql_countsel($from = array(), $where = array(), $groupby = '', $having = array(), $serveur='',$requeter=true) { $c = !$groupby ? '*' : ('DISTINCT ' . (is_string($groupby) ? $groupby : join(',', $groupby))); $r = spip_mysql_select("COUNT($c)", $from, $where,'', '', '', $having, $serveur, $requeter); if (!$requeter) return $r; if (!is_resource($r)) return 0; list($c) = mysql_fetch_array($r, MYSQL_NUM); mysql_free_result($r); return $c; }