sql_allfetsel

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 :

  1. $select,
  2. $from,
  3. $where,
  4. $groupby,
  5. $orderby,
  6. $limit,
  7. $having,
  8. $serveur,
  9. $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));

Auteur Matthieu Marcillaud Publié le : Mis à jour : 12/03/23

Traductions : English, français