Programmer avec SPIP 3.0
Documentation technique sur SPIP 3.0

> > > > sql_create_view

sql_create_view

La fonction sql_create_view() crée une vue à partir d’une requête de sélection donnée. La vue pourra donc être utilisée par des boucles SPIP ou par de nouvelles requêtes de sélection.

Elle admet 4 paramètres :

  1. $nom est le nom de la vue créée,
  2. $select_query est la requête de sélection,
  3. $serveur,
  4. $option.

On peut l’utiliser couplée à la fonction sql_get_select pour obtenir la sélection voulue :

  1. $selection = sql_get_select('colonne', 'table');
  2. sql_create_view('vue', $selection);
  3. // utilisation
  4. $result = sql_select('colonne', 'vue');

Télécharger

Note : Lorsqu’une colonne de sélection utilise une notation 'nom.colonne', il faut impérativement déclarer un alias pour la colonne sinon certains portages (SQLite notamment) ne créent pas la vue attendue, par exemple 'nom.colonne AS colonne'.

Exemple

Ce petit exemple montre le fonctionnement, en créant une table (bien inutile) à partir de 2 colonnes d’une rubrique :

  1. $select = sql_get_select(array(
  2. 'r.titre AS t',
  3. 'r.id_rubrique AS id'
  4. ), array(
  5. 'spip_rubriques AS r'
  6. ));
  7. // creer la vue
  8. sql_create_view('spip_short_rub', $select);
  9. // utiliser :
  10. $titre = sql_getfetsel('t', 'spip_short_rub', 'id=8');

Télécharger

Dans un squelette, la vue pourrait aussi être utilisée :

  1. <BOUCLE_vue(spip_short_rub) {id=8}>
  2. <h3>#T</h3>
  3. </BOUCLE_vue>

Télécharger