bonjour, j'utilise le code ci dessous pour créer des tableaux qui me servent à alimenter des liste déroulantes dynamique sous chronoforms.
Les listes sont bien alimentées mais les expressions régulières ne filtrent rien, ce qui fait que j ai l'intégralité des noms de fichiers qui remontent.
Les fichiers commencent tous par un de ces 3 motifs :
ABC121
ABC123
ABC122
et contiennent aussi une des chaines ci dessous :
_01.
_02.
_03.
_04.
_05.
Je voudrais que seuls les noms de fichiers ayant comme extension ABC121 remontent dans ma première liste, et qu'ensuite, les second motifs me servent pour définir chaque liste supplémentaire.
Le premier tableau doit contenir tous les noms de fichiers contenant le motif ABC121 et qu ensuite, les autres tableaux contiennent les noms de fichiers ABC121 et le second motif.
Dans le code ci dessous, j'ai déclaré la variable codecall directement, mais dans mon formulaire, c'est le contenu d'une variable qui est tésté car l'utilisateur peut choisir le code parmis une liste.
Ou dois je changer de fonction php et utiliser une autre fonction que pregmatch ?
Merci par avance pour votre aide.
PS: Si mon message n'est pas dans le bon forum, pouvez vous le deplacer ?
Les listes sont bien alimentées mais les expressions régulières ne filtrent rien, ce qui fait que j ai l'intégralité des noms de fichiers qui remontent.
Les fichiers commencent tous par un de ces 3 motifs :
ABC121
ABC123
ABC122
et contiennent aussi une des chaines ci dessous :
_01.
_02.
_03.
_04.
_05.
Je voudrais que seuls les noms de fichiers ayant comme extension ABC121 remontent dans ma première liste, et qu'ensuite, les second motifs me servent pour définir chaque liste supplémentaire.
Le premier tableau doit contenir tous les noms de fichiers contenant le motif ABC121 et qu ensuite, les autres tableaux contiennent les noms de fichiers ABC121 et le second motif.
Dans le code ci dessous, j'ai déclaré la variable codecall directement, mais dans mon formulaire, c'est le contenu d'une variable qui est tésté car l'utilisateur peut choisir le code parmis une liste.
Ou dois je changer de fonction php et utiliser une autre fonction que pregmatch ?
Merci par avance pour votre aide.
PS: Si mon message n'est pas dans le bon forum, pouvez vous le deplacer ?
Code:
<?php $user = JFactory::getUser(); jimport('joomla.filesystem.folder'); $user = JFactory::getUser(); $username = $user->name; $base = JURI::base(); $src = "/home/fab/enregistrements/".$username.DS; $var = JFolder::files($src); $codecall = 'ABC121'; $ccall = '/'.$codecall.'/'; echo $ccall; foreach ($var as $res) { if (preg_match( $ccall, $res)) { $form->data['liste']['0']['fichiers'] = $var; } $partie = "/_02\./"; if (strpos($partie, $res)) { $form->data['liste']['0']['fichiers2'] = $var; } $partie = "/_03\./"; if (preg_match($partie, $res)) { $form->data['liste']['0']['fichiers3'] = $var; } $partie = "/_04\./"; if (preg_match($partie, $res)) { $form->data['liste']['0']['fichiers4'] = $var; } $partie = "/_05\./"; if (preg_match($partie, $res)) { $form->data['liste']['0']['fichiers5'] = $var; } }?>
Commentaire