Galerie d'image

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Galerie d'image

par sadeq » 03 juil. 2007, 15:12

comme tu as dù remarquer, le programme ne s'est pas soucié du désign. Il expose une table HTML réglée par défaut à 100% de largeur et des images de 50x50 pour simplement la démo.

Par contre il peut régler le nombre de colonnes et lignes à afficher.

Je te conseille d'utiliser une feuille de style CSS pour placer la mise en forme volue. Il suffit d'utiliser des classes CSS et les placer sur les balises concernées.

par Domi » 03 juil. 2007, 14:28

Je reviens vers vous sur ce sujet.
J'ai adapter le script pour mon site mais je n'arrive pas à mettre en forme mon tableau. La taille des colonnes etc...

Pourriez vous m'aider la dessus ?

Merci d'avance

par sadeq » 08 juin 2005, 17:19

une galerie photo en PHp, pourvu ça vous guidera.
<?
//Ce programme parcourt un répértoire donné 
//et affiche les images qui s'y trouvent dans une table HTML
//dont la mise en  forme est paramètrable
//
//Attention: ce programme ne fait pas de filtrage de fichiers (il ne distingue pas une image d'un autre objet)
//			 Mais il n'affiche que des images
//
//Fonction explorateur de répertoire
function liste($path)
{
    $tableau = array();
    if ($dir = @opendir($path))
    {
        while($file = readdir($dir))
        {
            if ($file !="." && $file != "..")
            {
                if (is_file($path."/".$file))
                {
                    array_push($tableau, $path."/".$file);
                }
            }
        }
    }
  return $tableau;
}

//Remplir le tableau source de fichiers à partir de $path
$path='./images';
$source = liste($path);

//Paramètres de l'interface
$action = isset($_GET["action"])?$_GET["action"]:"";  //boutons suivant/précédent
$nbLignes = isset($_GET["nbLignes"])?$_GET["nbLignes"]:2;  //régle le nbre de lignes par page
$nbCol = isset($_GET["nbCol"])?$_GET["nbCol"]:2; //régle le nbre de colonnes par page
$images_page = $nbLignes * $nbCol; //calcule le nbr d'images par page
$pos = isset($_GET["pos"])?$_GET["pos"]:0; //la position actuelle dans le tableau source de fichiers

//Traiter le lot d'images suivant/précédent à afficher
if ($action == "Suivant" && $pos + $images_page < count($source)) $pos += $images_page;  
if ($action == "Précédent" && $pos - $images_page >= 0) $pos -= $images_page;

//Affichage de la source en respectant les paramètres d'affichage (nbre colonnes/nbre lignes)
$i=0; 
echo '<h1>Galerie de photos</h1><hr><table width=100%>'; 
for($p = $pos; $p < $pos + $images_page; $p++) { 
//Saut à la ligne si $i est multiple de $nbCol 
if ( $i % $nbCol == 0)  echo '<tr bgcolor="#feffb7">'; //retour à la ligne
if ($p >=0 && $p < count($source)) //afficher une image si elle existe
	echo '<th ><img src="'.$source[$p].'" width=50 heigth=50 align=bottom><br>'
		.substr(basename($source[$p]),0,strpos(basename($source[$p]),".")); //nom du fichier sans chemin ni extension
$i++; //compteur d'images affichées
} 
echo '</table><hr>';

//Formulaire de contrôle/paramètrage de l'afficheur'
echo "<form name=f method=get><table border=0 width=100%><tr><td>"; 
//Les boutons suivant/précédent ne s'affichent que si nécéssaire
//s'il y un précédent :
if($pos - $images_page >= 0)  echo '<input type="submit" name=action value="Précédent">'; 
//s'il y a un suivant:
if($pos + $images_page < count($source))  echo '<input type="submit" name=action value="Suivant">';
//paramètres nbr Lignes et colonnes par page (Auto validable)
echo '<td>Colonnes <input value="'.$nbCol.'" name="nbCol" onChange="f.submit();">'; 
echo '<td>Lignes <input value="'.$nbLignes.'" name="nbLignes" onChange="f.submit();">';
//Un champs caché pour la position en cours dans la source de fichiers
echo '<input type=hidden value="'.$pos.'" name="pos">'; 
echo "</table></form>";
?>

par hebus » 08 juin 2005, 16:09

Pas de quoi ^^

par ptitlion » 08 juin 2005, 16:06

Ok merci beaucoup ^^

par hebus » 08 juin 2005, 15:14

Comme ça :
<?
	$i = 1 ;
	while ( $i <= $nombreDePages )
	{
	echo '<a href="galerie.php?page=' . $i . '">' . $i . '</a> ' ;
	echo $i % 4 == 0 ? '<br />' : '' ;
	$i ++ ;
	}
?>


Dans la boucle quoi ! Au passage j'ai utilisé une boucle while, car un chouille plus rapide. :wink:

par ptitlion » 08 juin 2005, 15:10

Peut tu me montrer si te plait? ;p

par hebus » 08 juin 2005, 14:47

Avec un modulo dans ta boucle :
echo $i % 4 == 0 ? '<br />' : '' ;
:wink:

Galerie d'image

par ptitlion » 08 juin 2005, 14:39

Bonjour, voila j'aimerais créé un script qui permet de gerer des images. Je m'explique je voudrais faire une sorte de galerie d'image.


Donc dans un premier temps de compte de nombre de page nécessaire :

Code : Tout sélectionner

$nombreDimageparpage = 20; // On récupère le nombre total de messages $retour = mysql_query('SELECT COUNT(*) AS nb_images FROM galerie); $donnees = mysql_fetch_array($retour); $totalDesImages = $donnees['nb_images']; // On calcule le nombre de pages à créer $nombreDePages = ceil($totalDesImages / $nombreDimageparpage); //la boucle echo 'Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<a href="galerie.php?page=' . $i . '">' . $i . '</a> '; } ?> </p>
Pour l'instant tout va bien ^^
Mais c'est pour l'affichage des images... je ne sais pas comment faire pour qu'il affiche 4 images par ligne

Exemple :

Image 1 Image 2 Image 3 Image 4 -> Retour a la ligne
Image 5 Image 6 Image 7 Image 8 -> Retour a la ligne
.
.
.
.

Merci de m'aider :)