Galerie de photo en trois colonnes
Résolu/Fermé
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
-
31 oct. 2021 à 19:39
mont_dani Messages postés 232 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 mai 2024 - 3 nov. 2021 à 12:04
mont_dani Messages postés 232 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 7 mai 2024 - 3 nov. 2021 à 12:04
A voir également:
- Galerie de photo en trois colonnes
- Galerie photo en ligne gratuite - Guide
- Photo aérienne de ma maison - Guide
- Photo de profil - Guide
- Traduction photo gratuit - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
6 réponses
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
Ambassadeur
1 552
31 oct. 2021 à 21:34
31 oct. 2021 à 21:34
bonjour,
veux-tu utiliser $nb_image, au lieu de 4, pour contrôler le nombre d'images par ligne?
veux-tu utiliser $nb_image, au lieu de 4, pour contrôler le nombre d'images par ligne?
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
1 nov. 2021 à 06:52
1 nov. 2021 à 06:52
Bonjour yg_be
Merci pour ton soutien.
Oui se serait mieux d'utiliser $nb_image.
Je suppose qu'il faut faire une boucle ou quelque chose comme ça.
Merci pour ton soutien.
Oui se serait mieux d'utiliser $nb_image.
Je suppose qu'il faut faire une boucle ou quelque chose comme ça.
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 552
1 nov. 2021 à 09:48
1 nov. 2021 à 09:48
tu écris "ce script positionne 4 photos sur une ligne". en es-tu certain?
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
>
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 nov. 2021 à 12:05
1 nov. 2021 à 12:05
Oups, tu as raison le srcipt que j'ai posté met trois photos sur chaque ligne.
J'ai fait plusieurs essais et a la fin je me suis trompée dans mon texte.
J'ai fait plusieurs essais et a la fin je me suis trompée dans mon texte.
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 552
>
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
1 nov. 2021 à 12:42
1 nov. 2021 à 12:42
et donc ce script fonctionne comme tu le souhaites, non?
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
1 nov. 2021 à 12:54
1 nov. 2021 à 12:54
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 552
1 nov. 2021 à 13:30
1 nov. 2021 à 13:30
Pourrais-tu exprimer en français "empilé $nb_image photos dans chaque<TD>".
Comment souhaites-tu éviter ces espaces?
Comment souhaites-tu éviter ces espaces?
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
>
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 nov. 2021 à 15:53
1 nov. 2021 à 15:53
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
1 nov. 2021 à 16:01
1 nov. 2021 à 16:01
Bonjour,
Pour le coup, ça n'a plus rien à voir avec le PHP....
Ce n'est qu'une question de html/css ....
Il faudrait que tu définisses, dans tes TD, une DIV de largeur et longeur fixes et que tu places tes images dans ces DIV ...
Et pour les espacements entre les lignes.. il faut jouer avec le padding et le margin ...
Question à reposer dans le forum webmaster/css si tu ne trouves pas...
Pour le coup, ça n'a plus rien à voir avec le PHP....
Ce n'est qu'une question de html/css ....
Il faudrait que tu définisses, dans tes TD, une DIV de largeur et longeur fixes et que tu places tes images dans ces DIV ...
Et pour les espacements entre les lignes.. il faut jouer avec le padding et le margin ...
Question à reposer dans le forum webmaster/css si tu ne trouves pas...
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
1 nov. 2021 à 16:57
1 nov. 2021 à 16:57
Bonsoir Jordane
Je me suis trompé dans le montage que j'ai montré avant. Ce que souhaite faire c'est
Je m'explique de manière différente.
Pour l'intant j'ai
<tr><td>image</td><td>image</td><td>image</td></tr>
<tr><td>image</td><td>image</td><td>image</td></tr>
<tr><td>image</td><td>image</td><td>image</td></tr>
Je voudrai obtenir
<tr><td>image1 image 2 image 3</td><td>image4 image 5 image 6</td><td>image 7 image 8</td></tr>
en faisant quelque chose comme ca dans le php
Cela ne fonctionne pas parce que les photos se répètent.
Penses-tu qu'il s'agit toujours d'un problème de css?
Je me suis trompé dans le montage que j'ai montré avant. Ce que souhaite faire c'est
Je m'explique de manière différente.
Pour l'intant j'ai
<tr><td>image</td><td>image</td><td>image</td></tr>
<tr><td>image</td><td>image</td><td>image</td></tr>
<tr><td>image</td><td>image</td><td>image</td></tr>
Je voudrai obtenir
<tr><td>image1 image 2 image 3</td><td>image4 image 5 image 6</td><td>image 7 image 8</td></tr>
en faisant quelque chose comme ca dans le php
<?php $files = glob("../../image/galeria/11121*.*"); // toute les images qui commence par 11121 $compteur = count($files); // nombre total d image $nb_colonne=3; // nombre de colonnes a l'affichage $nb_image= ceil(($compteur) / ($nb_colonne));// nombre d'image par colonne ?> <table> <?php for ($i = 0; $i < $compteur; $i+=3) { // On augmente de 3 à chaque passage de la boucle et elle tourne tant qu'on a pas atteint le compte echo '<tr>'; for ($j = $i; $j < ($i + 3); $j++) { // Les trois prochains photos if (isset($files[$j])) // Vérifie qu'on n'est pas rendu trop loin echo '<td><img width="200px" border=" 5px solid #89B700" src="' . $files[$j] . '" alt="Image" /><br> <img width="200px" border=" 5px solid #89B700" src="' . $files[$j+1] . '" alt="Image" /><br> <img width="200px" border=" 5px solid #89B700" src="' . $files[$j+2] . '" alt="Image" /><br></td>'; } echo '</tr>'; } ?>
Cela ne fonctionne pas parce que les photos se répètent.
Penses-tu qu'il s'agit toujours d'un problème de css?
Utilisateur anonyme
1 nov. 2021 à 13:15
1 nov. 2021 à 13:15
Bonjour
Vous pouvez essayer avec cela UberGallery, sans base de données. Entièrement paramétrable et le PHP est facile à "modifier".
Aperçu "généré" en carré, images portrait ou paysage..
Mais il est préférable d'avoir des images dans la même définition/résolution.
Bien lire la procédure d'installation simple
A+
Vous pouvez essayer avec cela UberGallery, sans base de données. Entièrement paramétrable et le PHP est facile à "modifier".
Aperçu "généré" en carré, images portrait ou paysage..
Mais il est préférable d'avoir des images dans la même définition/résolution.
Bien lire la procédure d'installation simple
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
2 nov. 2021 à 19:39
2 nov. 2021 à 19:39
Bonsoir.
.
Me revoivi après avoir chercher pendant deux jours.
Je suis arrivé a cette solution qui fonctionne très bien.
Peut etre il-y a t-il moyen d'alleger le script? je suis ouvert a toutes proposition.
Voici le mein:
En tout cas merci pour votre aide.
.
Me revoivi après avoir chercher pendant deux jours.
Je suis arrivé a cette solution qui fonctionne très bien.
Peut etre il-y a t-il moyen d'alleger le script? je suis ouvert a toutes proposition.
Voici le mein:
<?php $files = glob('../../image/galeria/11121*'); // toute les photo qui commence par echo '<table width= "80%" align="center"> <tr> <td>'; echo "<img class='catimage' src='$files[3]'><br> <img class='catimage' src='$files[6]'><br>"; if (isset($files[9])) { echo "<img class='catimage' src='$files[9]'><br>";} if (isset($files[12])) { echo "<img class='catimage' src='$files[12]'><br>";} if (isset($files[15])) { echo "<img class='catimage' src='$files[15]'><br>";} if (isset($files[18])) { echo "<img class='catimage' src='$files[18]'><br>";} if (isset($files[21])) { echo "<img class='catimage' src='$files[21]'><br>";} if (isset($files[24])) { echo "<img class='catimage' src='$files[24]'><br>";} echo '</td> <td>'; echo "<img class='catimage' src='$files[1]'><br> <img class='catimage' src='$files[4]'><br> <img class='catimage' src='$files[7]'><br>"; if (isset($files[10])) { echo "<img class='catimage' src='$files[10]'><br>";} if (isset($files[13])) { echo "<img class='catimage' src='$files[13]'><br>";} if (isset($files[16])) { echo "<img class='catimage' src='$files[16]'><br>";} if (isset($files[19])) { echo "<img class='catimage' src='$files[19]'><br>";} if (isset($files[22])) { echo "<img class='catimage' src='$files[22]'><br>";} echo '</td> <td>'; echo "<img class='catimage' src='$files[2]'><br> <img class='catimage' src='$files[5]'><br> <img class='catimage' src='$files[8]'><br>"; if (isset($files[11])) { echo "<img class='catimage' src='$files[11]'><br>";} if (isset($files[14])) { echo "<img class='catimage' src='$files[14]'><br>";} if (isset($files[17])) { echo "<img class='catimage' src='$files[17]'><br>";} if (isset($files[20])) { echo "<img class='catimage' src='$files[20]'><br>";} if (isset($files[23])) { echo "<img class='catimage' src='$files[23]'><br>";} echo '</td> </tr> </table>'; ?>
En tout cas merci pour votre aide.
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 552
3 nov. 2021 à 07:51
3 nov. 2021 à 07:51
Tu pourrais travailler avec des boucles, comme tu as fait au départ.
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
>
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
3 nov. 2021 à 09:04
3 nov. 2021 à 09:04
J'ai essayé, mais je n'y suis pas arrivé. Aurais-tu une idée?
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
1 552
>
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
3 nov. 2021 à 10:50
3 nov. 2021 à 10:50
qu'as-tu essayé?
tu dois produire trois listes:
1,4,7,...
2,5,8, ...
3,6,9,12, ...
tu dois produire trois listes:
1,4,7,...
2,5,8, ...
3,6,9,12, ...
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
3 nov. 2021 à 09:55
3 nov. 2021 à 09:55
Tiens...
regarde ce que donne ce code :
ne te reste plus qu'à boucler dessus pour recréer le tableau html que tu veux obtenir
regarde ce que donne ce code :
<?php $files = glob('../../image/galeria/11121*'); // toute les photo qui commence par $nb_colonne =3; // nombre de colonnes a l'affichage $nb_imgCel = 3; // Nombre d'images par cellule //variable utilisées pour recréer un array organisé comme tu le souhaites $arrF = []; $row = 0; $col = 0; $K = 0; //on boucle sur chaque fichier : foreach($files as $F){ if($col>0 && $col % ($nb_colonne-1) == 0 && $K>=$nb_imgCel){ $col=0; $K=0; $row++; } if($K>0 && $K % $nb_imgCel == 0){ $col++; $K=0; } $arrF[$row][$col][] = $F; $K++; } //pour voir à quoi ressemble l'array echo "<pre>"; print_r($arrF); echo "</pre>"; exit;
ne te reste plus qu'à boucler dessus pour recréer le tableau html que tu veux obtenir
mont_dani
Messages postés
232
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
7 mai 2024
3 nov. 2021 à 12:04
3 nov. 2021 à 12:04
Merci Jordane.
La présentation de l'array me parait parfaite.
Je vois comment le boucler dans mon tableau html
La présentation de l'array me parait parfaite.
Je vois comment le boucler dans mon tableau html