Programmer avec SPIP 2.1
Documentation technique sur SPIP 2.1

> > > > sql_in

sql_in

La fonction sql_in() permet de créer une contrainte sur une colonne utilisant le mot clé IN.
Elle se compose de 5 paramètres :

  1. $val est le nom de la colonne,
  2. $valeurs est la liste des valeurs, sous forme de tableau ou d’une chaine d’éléments séparés par des virgules. Elles seront protégées par sql_quote automatiquement,
  3. $not permet de définir la négation. Vaut '' par défaut ; mettre 'NOT' pour réaliser un NOT IN,
  4. $serveur,
  5. $option.

On peut l’utiliser ainsi :

  1. $vals = array(2, 5, 8);
  2. // ou $vals = "2, 5, 8";
  3. $in = sql_in('id_table', $vals);
  4. if ($res = sql_select('colonne', 'table', $in)) {
  5. // ...
  6. }

Télécharger

Exemple

Le plugin « Tickets » utilise sql_in() pour obtenir le titre d’un ticket uniquement si celui-ci a un statut parmi ceux indiqués :

  1. function inc_ticket_forum_extraire_titre_dist($id_ticket){
  2. $titre = sql_getfetsel('titre', 'spip_tickets', array(
  3. 'id_ticket = ' . sql_quote($id_ticket),
  4. sql_in('statut', array('ouvert', 'resolu', 'ferme'))
  5. ));
  6. return $titre;
  7. }

Télécharger