La fonction
sql_allfetsel()
récupère un tableau de l’ensemble des résultats d’une sélection. Elle a les mêmes paramètres que
sql_select()
et est un raccourcis de la combinaison
sql_select()
+
sql_fetch_all()
. Stockant tous les résultats dans un tableau PHP, il faut faire attention à ne pas dépasser la taille mémoire allouée à PHP si l’on traite de volumineux contenus.
Elle possède 9 paramètres :
-#
$select
,
-#
$from
,
-#
$where
,
-#
$groupby
,
-#
$orderby
,
-#
$limit
,
-#
$having
,
-#
$serveur
,
-#
$option
.
La fonction
sql_allfetsel()
s’utilise comme cela :
$all = sql_allfetsel('colonne', 'table');
// $all[0]['colonne'] est la colonne de la premiere ligne recue
Exemple
Sélectionner tous les couples
objet
/
id_objet
liés à un document donné :
if ($liens = sql_allfetsel('objet, id_objet', 'spip_documents_liens', 'id_document=' . intval($id))) {
foreach ($liens as $l) {
// $l['objet'] et $l['id_objet']
}
}
Le plugin « Contact avancé » sélectionne tous les emails des destinataires d’un message comme ceci :
// On recupere a qui ça va etre envoye
$destinataire = _request('destinataire');
if (!is_array($destinataire)) {
$destinataire = array($destinataire);
}
$destinataire = array_map('intval', $destinataire);
$mail = sql_allfetsel('email', 'spip_auteurs', sql_in('id_auteur', $destinataire));