Bonjour, je vous écris car je récupere des images depuis un dossier, et ce que je voudrais c'est de faire un tableau propre en limitant le nombre de photo par ligne , j'ai essayer avec le script qui permet ce genre de chose, mais je n'y suis pas arrivé voilà la page qui récuperes les images d'un dossier
et le code sur lequel j'essaye de m'inspiré pour réalisé ce fameux tableau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 <?php session_start(); include("../mysqlcon.php"); include("../recuperation.php"); $nomdudossier = $_GET["namedos"]; if(isset($_GET["idcitoyen"])) { $idg = $_GET["idcitoyen"]; } else { $idg = $idcon; } ?> <? $urlphoto = 'Album/'.$idg.'/'.$nomdudossier.'/'; if (is_dir($urlphoto)) { $dossier = opendir($urlphoto); $nb = 0; while ($Fichier = readdir($dossier)) { if ($Fichier != "." AND $Fichier != ".." AND (stristr($Fichier,'.gif') OR stristr($Fichier,'.jpg') OR stristr($Fichier,'.png') OR stristr($Fichier,'.bmp'))) { // Hauteur de toutes les images $taille = getimagesize($urlphoto."/".$Fichier); if($taille[0] < 300) { $h_vign = $taille[0]; } else { $h_vign = 300; } $reduc = floor(($h_vign*100)/($taille[1])); $l_vign = $h_vign/2;; echo '<a target="_blank" href="', $urlphoto, '/',$Fichier, '">'; echo '<img style="float:left;border:solid #125 5px; margin:2px;" src="', $urlphoto, '/',$Fichier, '" '; echo "width='$l_vign' height='$h_vign'>"; echo "</a> "; $nb += 1; } } ?> <h2><? echo $nb; ?></h2> <? closedir($dossier); if ($nb == 0) { echo'Pas d\'images.'; } } else { echo' Le répertoire spécifié n\'existe pas.'; } ?>
merci d'avance a tous ceux qui m'aiderons
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 <?php echo '<table>'; // On récupère le résultat de la requête SQL de sélection des données sur les navigateurs $resultat = mysql_query("Select * from design"); // Nombre maximum de lignes souhaitées $max_colonnes = 4; // On compte le nombre de résultat $nb_resultat = mysql_num_rows($resultat); // On veut un maximum de 2 colonnes donc on calcul le nombre de colonnes en arrondissant à l'entier supérieur $nb_lignes = ceil($nb_resultat / $max_colonnes); // On cré un tableau par ligne for($i = 1; $i <= $nb_lignes; $i++) { ${'lign'.$i} = array(); } // On initialise la ligne en cours à 1, première ligne $ligne_en_cours = 1; // On initialise le nombre de colonne à 1 qui va nous servir de compteur de colonne $nb_colonnes = 1; // On parcourt le tableau $resultat de la requête et on stock chacune des lignes dans le nouveau tableau $tab while($tab = mysql_fetch_array($resultat)) { // On insère les résultats dans les tableaux créés ci-dessus array_push(${'lign'.$ligne_en_cours}, $tab['nom_image']); // On vérifie si l'on est pas au maximum de ligne souhaité afin de revenir à la première ligne if($ligne_en_cours == $nb_lignes) { $ligne_en_cours = 1; // On passe à la colonne suivante $nb_colonnes++; // On passe à la ligne suivante s'il reste suffisemment de colonnes pour arriver au $max_colonnes // autrement, on laisse l'insertion dans la ligne 1 } elseif($ligne_en_cours != $nb_lignes && ($nb_resultat - $nb_colonnes) >= $max_colonnes) { $ligne_en_cours++; } } // On commence l'affichage ligne par ligne for($i = 1; $i <= $nb_lignes; $i++) { if($i != 1) { echo'</tr>'; } echo'<tr>'; // On parcourt le tableau de la ligne pour son affichage foreach(${'lign'.$i} as $lign) { $sql_des = mysql_query("Select * from design where nom_image='$lign'"); $sql_d = mysql_fetch_array($sql_des); $idnumero = $sql_d["id"]; ?> <td><input type="radio" name="design" id="<? echo $idnumero; ?>" value="<? echo $idnumero; ?>"><br><a href="../blog/skin/<? echo $lign; ?>" rel="lightbox[roadtrip]" title="<?php echo $lign; ?>"><img src="../blog/skin/<?php echo $lign; ?>" height="150" width="150" ></a><br></td> <?php } } echo'</table>'; ?>
Partager