Changeset 32127 in spip-zone


Ignore:
Timestamp:
Oct 14, 2009, 10:49:40 PM (11 years ago)
Author:
renato@…
Message:

noveau balise generique #EXPRESSION pour ajouter a la select une exression sql et une example de balise #SUM qui urtilise #EXPRESSION

#EXPRESION(expression,alias)

Utiliser {par alias} pout trier

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/agregateurs_sql/public/agregateurs_sql_balises.php

    r32005 r32127  
    6464}
    6565
     66function balise_SUM($p) {
     67  $t = $p->param[0][1][0]->texte;
     68  $p->param[0][1][0]->texte = "SUM($t)";
     69  $p->param[0][2][0]->texte = "sum_$t";
     70  return balise_EXPRESSION($p);
     71}
     72
     73function balise_EXPRESSION($p) {
     74  static $num = 1;
     75  $b = $p->nom_boucle ? $p->nom_boucle : $p->descr['id_mere'];
     76  if ($b === '' || !isset($p->boucles[$b])) {
     77     erreur_squelette(
     78       _T('zbug_champ_hors_boucle',
     79       array('champ' => "#$b" . 'EXPRESSION')
     80     ), $p->id_boucle);
     81     $p->code = "''";
     82  } else {
     83    if (isset($p->param[0][1][0])
     84    AND $champ = ($p->param[0][1][0]->texte)) {
     85      if(isset($p->param[0][2][0]) AND $p->param[0][2][0]->texte)
     86        $alias = $p->param[0][2][0]->texte;
     87      else {
     88        $alias = "expr_$num";
     89        $num++;
     90      }
     91      $p->code = "\$Pile[\$SP]['$alias']";
     92      $p->boucles[$b]->select[] = "$champ as $alias";
     93      $p->interdire_scripts = true;
     94    }
     95  }
     96  return $p;
     97}
     98
    6699?>
Note: See TracChangeset for help on using the changeset viewer.