function listAlbum()

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

07 oct. 2005, 14:52

Non, il n'y a aucun code dans mon message précédent, mais c'est pas facile de représenter un tableau PHP en l'écrivant. C'était une description de ce que tu devais obtenir comme donnée à la place de ce que tu obtiens actuellement. ($element)

Eléphanteau du PHP | 13 Messages

07 oct. 2005, 14:57

heu....pardon?!
:shock:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

07 oct. 2005, 15:01

Je n'écrirai pas de code, c'est ma façon de faire :)
Mais je peux t'expliquer longtemps....

Tu avais bien compris le fonctionnement...
ok
d'apres ce que j'ai compris
la fonction
PHP:
ListeAlbums
ouvre le répertoire et liste
les dossiers et affiche cette liste
dans l'ordre alphabétique
si l'on rajoute
PHP:
sort($tri)

ce que je ne veux surtout pas
(c'est l'essentiel de mon probleme)
je voudrais lister ce répertoire
d'une maniere precise et je connais
le nom de chaque dossier et le nbre
et l'ordre de chaque dossier
ne changera jamais
pour la fonction
PHP:
AlbumHTML

je suis moins sur je pense que c'est pour
afficher les descriptions des dossiers
Avant d'envoyer les données à la fonction AlbumHTML, tu peux les classer par ordre alphabétique avec sort($tri), ce que tu ne veux pas...tu veux les classer par un ordre pré-défini.

Comme te l'a dit Cyrano
Donc tu as besoin de créer une liste, sur un fichier texte par exemple, qui comporterait tous tes pays dans l'ordre de ton choix.
Cette liste peut tout simplement être une variable PHP, ou plusieurs variables PHP.
Il faut te servir de cette liste pour classer tes données.

Mais comment faire ?

Est-ce que tu suis, jusque là ?

Eléphanteau du PHP | 13 Messages

07 oct. 2005, 15:33

ok
mais comment apeller
ce fichier dans le code?
include ou bien dois-je nommer
mon fichier 'element'
ou bien je suis a coté de la plaque
ou meme carrément a l'ouest
mais je subodore un début d'épiphanie

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

07 oct. 2005, 16:41

Il te faut alors reprendre le code que tu postai en premier...et le modifier.
function listeAlbums() {
  
  $res='';
	
  if ($rep = opendir(REPERTOIRE_ALBUMS)) {
	 while ($element = readdir($rep)) {
	  
	    if (is_dir(REPERTOIRE_ALBUMS."/".$element)
		    && $element != '.' && $element != '..')
		  $res .= AlbumHTML($element);  
	  }
	  closedir($rep);
	  
    } else {
	
	  $res = 'Repertoire des albums non accessible !';
	}
	
	return $res;
  }
En sachant qu'avant de donner à traiter $element à la fonction AlbumHTML(), il va falloir classer $element dans ton ordre voulu.

Fais donc un echo "<pre>";var_dump($element);echo "</pre>"; avant la fonction AlbumHTML...pour voir ce que contient ta variable.

Et crées toi un fichier que tu nommeras conf_listeAlbums.inc.php
qui contiendra un tableau associant les numéros aux albums.

Eléphanteau du PHP | 13 Messages

11 oct. 2005, 10:58

coucou désolé d'avoir interrompu
j'ai créé un fichier comme conseillé
et dans ma page j'ai mis ce fichier en
include comme ceci :
<?php
  include('config.inc.php');
  include('conf_listeAlbums.inc.php');
  
  function listeAlbums() {
  
  $res='';
	
  if ($rep = opendir(REPERTOIRE_ALBUMS)) {
	 while ($element = readdir($rep)) {
	  
	    if (is_dir(REPERTOIRE_ALBUMS."/".$element)
		    && $element != '.' && $element != '..')
		  $res .= AlbumHTML($element);  
	  }
	  closedir($rep);

		
		} else {
	
	  $res = 'Repertoire des albums non accessible !';
	}
	
	return $res;
  }
echo "<pre>";var_dump($element);echo "</pre>"; 
  function AlbumHTML($album) {
j'ai fait
var_dump
et j'obtiens effectivement un tableau
comme ceci:

Code : Tout sélectionner

array(7) { [0]=> string(6) "chairs" [1]=> string(6) "tables" [2]=> string(4) "sofa" [4]=> string(8) "lighting" [5]=> string(7) "storage" [6]=> string(7) "objects" [7]=> string(4) "arts" }
mais comment utiliser ces valeurs
pour faire un tableau qui affichera
les titres ?
précedemment on m'as dit que cela
doit ce faire dans la boucle?
mais je suis perdu...