Page 1 sur 1

faire un tableau à 3 colonnes pour caser des photos

Posté : 26 janv. 2007, 16:05
par kikadisa
Bonjour,
Je débute en php et je m'occupe du site d'une association et il se trouve que nous avons pas mal de photos.
Donc je souhaitais les afficher dans une forme d'un tableau.

En fait mon code, il regarde dans le seveur les dossier et les image et il me renvoie une liste de tout sa.
Maintenant je voudrait ordonner toutes ces données.
Je pense que faire un tableau avec 3 ou 4 colonnes devrait suffir.
pouvez-vous m'aider?
Voulez-vous mon code ?

Bonne fin de journée

PS : j'ai trouvé dans la doc une fonction sympa c'est array() mais j'arrive pas trop à me servir de la doc donc je sais pas comment fonctionne, la fonction.

Posté : 26 janv. 2007, 18:46
par rakizm
tu veux lister les photos, dans un tableau c'est ça???

Posté : 26 janv. 2007, 19:21
par Truc
Salut,
Effectue une recherche avec "modulo" :)

Posté : 26 janv. 2007, 20:36
par kikadisa
Pour rakizm oui
pour truc :
C'est quoi modulo, le module de recherche si c'est sa j'ai trouvé des choses, maintenant il faut que je tris

Posté : 26 janv. 2007, 21:50
par Truc
Non "modulo" est le reste de la division entière :

Code : Tout sélectionner

10 % 3 = 1 // 10 modulo 3 = 1
Il faut donc rechercher grâce au module de recherche et le mot clé "modulo"

Posté : 26 janv. 2007, 22:49
par AB
Salut kikadisa,

Ce que veut dire Truc c'est quand faisant une recherche sur "modulo" avec le lien recherche de ce site (en haut de cette page) tu vas trouver un sujet qui traite de ce problème : http://www.phpfrance.com/forums/voir_su ... modulo.php

:wink:

Posté : 28 janv. 2007, 18:05
par kikadisa
En fait vous m'excuserez j'ai pas trop compris votre "trip" avec le modulo enfin je pense avoir compris mais je n'aime pas mettre des choses que je ne comprends pas dans mon script alors voici en fait mon code.
je vérifie juste si le nombre d'entré divisé par le nombre de colonnes est entier et je fais une nouvelle ligne.
<?php
include("tete.php");
$dossier         = './' ;// emplacement du dossier à ouvrir
$dossier_ouvert  = opendir($dossier) ;// on l'ouvre
$nombre_colonnes = 4 ; // on définit le nombre de colonnes
$nombre_entrees=1;

if ($dossier_ouvert) //si le dossier est ouvert on continu
{
echo'<table><tr><td>';//on écrit un tableau
	while (false !== ($fichier = readdir($dossier_ouvert))) 
	{
		if(is_int($nombre_entrees/$nombre_colonnes) == TRUE) //Si  on arrive à un nombre entier on ajoute une nouvelle ligne
		{
			if ($fichier != "." && $fichier != "..")
			{					
			$repertoire=is_dir($fichier);
				if($repertoire==TRUE)//si c'est un répertoire
				{  
					if($fichier!='mini')
					{
					echo '<a href="'.$dossier.$fichier.'/">'.$fichier.'<br/></a></td></tr><tr><td>';// on fait un lien
				$nombre_entrees++; 
					}
				}
				else//sinon si c'est une image
				{
				$extension=strrchr($fichier,'.');
					if($extension=='.jpg' OR $extension=='.png' OR $extension=='.gif')
					{
					echo '<a href="'.$fichier.'"><img src="./mini/'.$fichier.'" alt="image"/><br/></a></td></tr><tr><td>';// on fait un lien vers l'original
				$nombre_entrees++;
					}
				}
			}
		}
		else //si c'est pas un nombre entier on ajoute pas de nouvelle ligne
		{
			if ($fichier != "." && $fichier != "..")
			{					
			$repertoire=is_dir($fichier);
				if($repertoire==TRUE)//si c'est un dossier
				{  
					if($fichier!='mini')
					{
					echo '<a href="'.$dossier.$fichier.'/">'.$fichier.'<br/></a></td><td>'; //on fait un lien vers le dossier
				$nombre_entrees++;
					}
				}
				else//sinon
				{
				$extension=strrchr($fichier,'.');
					if($extension=='.jpg' OR $extension=='.png' OR $extension=='.gif')//si c'est une image
					{
					echo '<a href="'.$fichier.'"><img src="./mini/'.$fichier.'" alt="image"/><br/></a></td><td>';//on fait un lien vers l'original
				$nombre_entrees++;
					}
				}
			}
		}
	}
closedir($dossier_ouvert);//on ferme le dossier
}
else//si le dossier n'a pu s'ouvrir on affiche un message d'erreur
{
echo'une erreur s\'est produite !';
}
		echo'</td></tr></table>';//on ferme le tableau
include("pied.php");
?>
Voila comme sa tout ceux qui veulent un script pour afficher des photos en auront un maintenant je vais m'attaquer à l'upload
Biz

Posté : 28 janv. 2007, 20:42
par Truc
Le modulo est le modulo... ce n'est pas une abréviation ou autre truc appartenant au forum.

AB t'as donné un lien direct vers un des sujets...
en voilà un autre encore plus direct.

Ta solution présente trop de code mais si ça fonctionne

Posté : 29 janv. 2007, 19:38
par kikadisa
Merci pour vos réponse.
Je ne vois pas comment faire plus simple mais comme truc dit si sa fonctionne.
Dans tout les cas, je ne pense pas qu'au niveau performance d'affichage des pages il puisse y avoir une grosse différence, et le serveur ne surchage pas comme sa, car les images, ne sont pas généré à la volée.

Posté : 30 janv. 2007, 01:17
par Truc
je ne pense pas qu'au niveau performance d'affichage des pages il puisse y avoir une grosse différence
minime... il y a plus d'appels de fonctions.

C'est surtout plus lisible... ce code tu le connais maintenant mais dans 6 mois si tu dois y revenir tu ne va pas t'y retrouver aussi vite.

Posté : 30 janv. 2007, 09:13
par zeus
C'est une excellente chose de ne pas utiliser de code qu'on ne comprend pas, mais c'est une mauvaise chose de ne pas cherher à comprendre un code lorsqu'on est sur un forum.

Honnêtement, essaye de prendre 1/2h pour suivre les liens et essayer de comprendre. N'hesite pas à poser des questions dans ce thread si tu ne comprend pas certains trucs mais, inestimable conseil, essaye de le comprendre, ce modulo est super utile et tu va lui trouver des tas d'applications une fois que tu l'auras compris ;)