Categories > TinyButStrong general (FR) >

Equivalence * % (caractères "joker")

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Guitou
Date: 2006-02-17
Time: 11:21

Equivalence * % (caractères "joker")

Bonjour, j'ai cherché sur le manuel à la recherche de l'équivalence du caractère * ou % (à savoir le caratère joker qui remplace n'importe quoi) afin de pouvoir afficher des actions conditionnelles suivant ce que contiennent mes variables

[l_h.t1;if [val]='Absence*';then 'toto';else [val];]

Mes chaines sont toutes du type "Absence / motif de l'absence"

Si la soluce est présente dans le manuel mea culpa d'avance, le cas contraire un petit coup de main serait le bienvenue ;)

Merci d'avance
By: Skrol29
Date: 2006-02-17
Time: 11:29

Re: Equivalence * % (caractères "joker")

Bonjour,

Il n'y a pas de joker pour les conditions côté HTML. Tu es obligé de traité la condition côté PHP. Par exemple avec une fonction pour le paramètre 'onformat' pour modifier le champ, ou 'ondata' pour modifier l'enregistrement.
By: Guitou
Date: 2006-02-17
Time: 11:33

Re: Equivalence * % (caractères "joker")

Merci pour cette réponse rapide même si je m'y attendais.... :/

Je m'en vais bidouiller mon php de ce pas
By: Guitou
Date: 2006-02-17
Time: 11:59

Re: Equivalence * % (caractères "joker")

C'est encore moi qui galère sur l'utilisation de ondata

      [l_h.t1;ondata=man_abs]

Ma fonction

function man_abs($NomBloc,&$Enreg,$NumEnreg) {
  $tmp = explode(' ',$Enreg);
  if($tmp[0] == 'Absence') $Enreg = 'Absence';
}


Cependant à l'affichage rien ne se produit, je n'ai aucun message d'erreur, j'ai pourtant regardé l'exemple et copié la syntaxe mais ça ne fonctionne pas.

Que faire ?
By: Guitou
Date: 2006-02-17
Time: 13:37

Re: Equivalence * % (caractères "joker")

J'ai édité ma fonction pour vérifier qu'elle est bien appelée


function man_abs($NomBloc,&$Enreg,$NumEnreg) {
  $tmp = explode(' ',$Enreg);
  if($tmp[0] == 'Absence') $Enreg = 'Absence';
  else $Enreg = blablabla;
}

Or rien ne se produit....
By: Skrol29
Date: 2006-02-17
Time: 13:38

Re: Equivalence * % (caractères "joker")

Heu..  je pense que ton critère ($tmp[0]=='Absence') n'est jamais vérifié.
En plus 'ondata' est un paramètre de bloc, il doit figurer dans le même champ que celui qui contient 'block='.

Essai plutôt :
function man_abs($NomBloc,&$Enreg,$NumEnreg) {
  $x = 'Absence';
  if ($x== substr($Enreg['tl'],0,strlen($x)) $Enreg['tl'] = $x;
}
By: Guitou
Date: 2006-02-17
Time: 13:42

Re: Equivalence * % (caractères "joker")

Encore moi, je me réponds à moi même

En utilisant onformat plutot que ondata celà fonctionne.

Merci moi ;)
By: Skrol29
Date: 2006-02-17
Time: 13:44

Re: Equivalence * % (caractères "joker")

'onformat' fonctionne sur tous les champs.
'ondata' est un paramètre de bloc, à positionner dans le même champ que celui qui contient 'block=...'.
By: Guitou
Date: 2006-02-17
Time: 13:50

Re: Equivalence * % (caractères "joker")

Forcément si j'avais pris 30s de plus pour tester avec onformat ça m'aurait évité un flood inutile.

Merci skroll, keep on the good work
By: ioguix
Date: 2006-02-20
Time: 20:47

Re: Equivalence * % (caractères "joker")

Salut,

Si je peux me permettre, j'avais un cas d'utilisation comme le tiens il y a peu et je m'étais permis de modifier un chouilla TBS pour y ajouter les expressions régulière.
cf. http://www.tinybutstrong.com/fr/forum.php?msg_id=4195 pour les modifs apportée, je crois me rappeler que ce ne sont que 4 lignes à ajouter et tu bénificiera du l'opérateur ~=

bonne continnuation ;)

++