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
Code :
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.';
}
?> |
et le code sur lequel j'essaye de m'inspiré pour réalisé ce fameux tableau :
Code :
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>'; ?> |
merci d'avance a tous ceux qui m'aiderons