Affichage dans un tableau

zevinny Messages postés 168 Statut Membre -  
kilian Messages postés 8854 Statut Modérateur -
Bonjour,

Ben me revoilà!

j'affiche par un code qui fonctionne, les répertoirs en liste, reprenant le nombre de fichiers se trouvant dedans. MAis j'aimerais l'afficher dans un tableau de 2 voir 3 colonnes! et là je cale...


<?
$tableau = array();
$repertoir = opendir('./pictures/');

while ($filename = readdir($repertoir))
{
	if(is_dir($rep.$filename) && $filename !='.' && $filename != '..')
	{
	$tableau[] = $filename;
	}
}


$nbcol = 4;
$nbreps = count($tableau);
if ($nbreps != 0)
{
	echo '<table>';
	for ($i=0,$i<nbreps,$i++)
	{
		if ($i%nbcol==0) echo "<tr><td>";
		
		$fichiers = glob($filename."/*.*");
		$compteur = count($fichiers);
		echo "Nom du fichier : <a href='$rep$filename'>"$tableau[$i]"</a>";
			if ($compteur > 0) 
			{ 
			 echo "<br>Il y a <font color=#FF0000>".$compteur."</font> fichiers dans ce répertoire</td>"; 
			} else {
					echo "<br>Il n'y a pas de fichier dans ce répertoire</td>"; 
				   }
		
		if ($i%nbcol==($nbcol-1))
		{
		 echo "</tr>";
		} 
	}
	echo "</table>";
} else 
	{
	 echo "aucun dossier photo";
	} 
closedir ($repertoir);
?>



J'ai une page blanche, mais je ne trouve pas mon erreur...
A voir également:

7 réponses

kilian Messages postés 8854 Statut Modérateur 1 526
 
Salut,

if(is_dir($rep.$filename)

Il y a quoi dans $rep ?
-1
zevinny Messages postés 168 Statut Membre 56
 
Bien vu! Mais c'est toujours pas ce qui m'aide, la page reste blanche...

voici la correction:

<?
$tableau = array();
$repertoir = opendir('./pictures/');

while ($filename = readdir($repertoir))
{
	if(is_dir($filename) && $filename !='.' && $filename != '..')
	{
	$tableau[] = $filename;
	}
}


$nbcol = 4;
$nbreps = count($tableau);
if ($nbreps != 0)
{
	echo '<table>';
	for ($i=0,$i<nbreps,$i++)
	{
		if ($i%nbcol==0) echo "<tr><td>";
		
		$fichiers = glob($filename."/*.*");
		$compteur = count($fichiers);
		echo "Nom du fichier : <a href='$rep$filename'>"$tableau[$i]"</a>";
			if ($compteur > 0) 
			{ 
			 echo "<br>Il y a <font color=#FF0000>".$compteur."</font> fichiers dans ce répertoire</td>"; 
			} else {
					echo "<br>Il n'y a pas de fichier dans ce répertoire</td>"; 
				   }
		
		if ($i%nbcol==($nbcol-1))
		{
		 echo "</tr>";
		} 
	}
	echo "</table>";
} else 
	{
	 echo "aucun dossier photo";
	} 
closedir ($repertoir);
?>
-1
kilian Messages postés 8854 Statut Modérateur 1 526
 
Tu ferme des <td> mais tu ne les commence jamais.
Il ya quoi quand tu affiches la source html ?
-1
zevinny Messages postés 168 Statut Membre 56
 
merci pour ta réponse, mais pour l'instant il m'affiche le même dossier 4 fois l'un en dessous de l'autre...

-1
kilian Messages postés 8854 Statut Modérateur 1 526
 
Mais tu réutilises $filename alors que $filename contient le dernier appel à readdir, c'est à dire rien :-)
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zevinny Messages postés 168 Statut Membre 56
 
Je ne te suis pas vraiment, mais j'ai modifié ce que vous m'aviez attiré l'attention:


	<?
	$rep = "./pictures/";
	$dir = opendir($rep);
	$i = 0;
	$nom = array();
	while ($filename = readdir($dir))
	{

	if(is_dir($rep.$filename) && $filename !='.' && $filename != '..')
	{
		$nom[] = $filename;
		}
		}
		closedir ($filename);
		
		$fichiers = glob($filename."/*.*");
		$compteur = count($fichiers);
		$nbcol = 5;
		$nbreps = count($nom);
			if ($nbreps != 0){
				echo "<table>";
				for ($j=1;$j<=$nbcol;$j++){
					if ($j%$nbcol==0)
					echo "<tr><td>Nom du fichier : <a href='$rep$filename'>".$nom[$i]."</a>";
						if ($compteur > 0) { 
							echo "<br>Il y a <font color=#FF0000>$compteur</font> fichiers dans ce répertoire"; 
							echo "</td>";
						} else { 
						echo "<br>Il n'y a pas de fichier dans ce répertoire"; 
						}
					if ($j%$nbcol==($nbcol-1)) echo "</tr>";			
	}
	echo "</table>";
	}
	 else echo "Aucune image";
	?>



Cela affiche ceci:

Il y a 20 dossiers photos!


Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Il y a 1 fichiers dans ce répertoire
Nom du fichier : nouvelan
Il y a 1 fichiers dans ce répertoire
Nom du fichier : nouvelan
Il y a 1 fichiers dans ce répertoire
Nom du fichier : nouvelan
Il y a 1 fichiers dans ce répertoire
Nom du fichier : nouvelan
Il y a 1 fichiers dans ce répertoire

J'ai l'affichage de mes dossiers photos l'un en dessous des autres... Pourquoi n'ai je pas l'affichage en colonnes?

je suis déjà content d'en arriver là :-)
-1
zevinny Messages postés 168 Statut Membre 56
 
voici le code simplifié, donc si quelqu'un peut m'aider pour deux choses, je serai sauvé...Car j'ai trop peu de connaissances!

1) affichage dans un tableau genre 4 colonnes
2) par ordre alphabétique


<?

$rep = "./pictures/";
$dir = opendir($rep);
$i = 0;

while ($filename = readdir($dir))
{

if(is_dir($rep.$filename) && $filename !='.' && $filename != '..')
{
$nom[] = $filename;
$fichiers = glob($rep.$filename."/*.*");
$compteur = count($fichiers);

echo "<li>Nom du dossier : <a href='".$rep.$filename."'>".$nom[$i]."</a>";

if ($compteur > 0) { 
	echo "<br>Il y a <font color=#FF0000>".$compteur."</font> fichiers dans ce répertoire"; 
	} else { 
	echo "<br>Il n'y a pas de fichier dans ce répertoire"; 
	}
echo "<br><br>";
$i++;
}
}

?>


merci d'avance...
-1
kilian Messages postés 8854 Statut Modérateur 1 526
 
Et comme ça?

<?

$rep = "./pictures/";
$dir = opendir($rep);
$i = 0;

echo '<ul>';
while ($filename = readdir($dir))
{

if(is_dir($rep.$filename) && $filename !='.' && $filename != '..')
{
$nom[] = $filename;
$fichiers = glob($rep.$filename."/*.*");
$compteur = count($fichiers);

echo "<li>Nom du dossier : <a href='".$rep.$filename."'>".$nom[$i]."</a>";

if ($compteur > 0) { 
	echo "<br>Il y a <font color=#FF0000>".$compteur."</font> fichiers dans ce répertoire"; 
	} else { 
	echo "Il n'y a pas de fichier dans ce répertoire"; 
	}
echo "</li>";
$i++;
}
}
echo '</ul>';

?>

Tu ne fermais pas tes entrées de liste et tu ne l'initialisais pas avec la balise <ul>.
-1