[PHP] Insertion de données dans un array (!) [Résolu/Fermé]

Signaler
-
 Jepp -
Bonjour à tous !
D'abord voici ma situation :
-> J'utilise un moteur de template
-> J'utilise une fonction
-> Je doit récupéré une valeur inconnu

Bon. Voici ma situation complète. J'utilise un moteur de template (phpBB 2.x). Ce moteur de template est certes formidable. Tout va bien jusque là.

J'ai créé autrefois une fonction qui listait tout les fichiers contenu dans un dossier (theme/nom_du_theme) dans une liste déroulante. Voici la fonction :

<?php
function list_edit_files($theme, $fs)
{
 $rep = "../theme/".$theme."/";
 $dir = opendir($rep);
 while($fichier = readdir($dir))
 {
  if($fichier != "." && $fichier != "..")
  {
   if($fs == "TPL")
   {
    if(in_string(".tpl", $fichier) == TRUE)
  	{
  	 echo "<option value='".$fichier."'>".$fichier."</option>";
  	}
   }
   elseif($fs == "CSS")
   {
   	if(in_string(".css", $fichier) == TRUE)
  	{
      echo "<option value='".$fichier."'>".$fichier."</option>";
  	}
   }
  }
 }
}
?>

Avec cette fonction, lorsque je n'utilisait pas de template, affichait correctement le tout :
<select>
<optgroup label="fichiers css">
list_edit_files("nom_du_theme", "CSS");
</select>
Ainsi, tout s'affichait comme je l'espèrait, et la liste déroulante me donnait le résultat suivant :

<select>
<optgroup label="fichier css">
<option value="fichier.css">Fichier.css</option>
<optgroup label="fichiers html">
<option value="fichier.html">fichier.html</option>
</select>

Cependant, depuis que j'ai instauré le système de template, la page qui génère la liste (celle qui utilise la fonction) n'affiche pas correctement le <select>

fichier.cssfichier.html

-- SELECT PLACÉ ICI, mais sans <option> --

En gros, la fonction renvoi echo, alors elle affiche avant que le template affiche la page ! Alors j'ai mis return à la place de echo, (pas besoin de montrer le code je crois). Le problème est partiellement réglé à partir de là. Cependant, ça n'affiche qu'un fichier par utilisation de la fonction !

DONC :
<select>
<optgroup label [...]>
<option [...]></option>
<optgroup [..]>
<option[..]</option>
</select>

C'est llogique, puisque return renvoi seulement une valeur ! Malgré cela, je sais que via les array, ça serais possible (une fonction peut renvoyer des array). Là où je bloque, c'est inséré les fichiers dans le array automatiquement, et de les affichés sans à avoir à savoir le nom du fichier -_-' ..

Et là, je bloque. Quelqu'un aurait une solution peut-être ?

Cordialement,
Jepp

1 réponse

Tout ce que je veux, c'est savoir comment inséré des données dans un tableau associatif tant qu'il y a de différentes données !

En PHP, je crois bien que ça se traduirait ainsi :

TANT QUE ( IL Y A UN AUTRE DONNÉ À INSÉRÉ)
{
ARRAY = Ajout d'une valeur associative !;
}

Mais je SAIS pas comment le faire T_T