8791 sujets

Développement web côté serveur, CMS

Hello tout le monde !

Voila je vous explique mon problème, je suis actuellement en train de faire un site qui comporte des galeries photos. J'ai utilisé 2bgal comme script galeries que j'ai donc installé et mis en place. Jusque la pas de soucis majeur je l'utilise assez souvent.

Mais voila, j'aimerais que des images des galeries apparaissent aléatoirement sur l'index de mon site. Jusque la pas soucis majeurs non plus , j'ai trouver ceci sur le forum de support 2bgal :

<?php

    // mettre ici le chemin de la galerie
    require("galerie/connect.inc.php");

    ($link = @mysql_connect("$serveur", "$utilisateur", "$motdepasse")) or die("erreur connexion serveur");
    @mysql_select_db("$database",$link) or die ("erreur connexion db");
         
     // requête SQL qui récupère une image au hazard avec ses informations
     $query = "SELECT * FROM gimagelist ORDER BY RAND() LIMIT 1";
     $result = mysql_query($query,$link) or die ('Erreur : '.mysql_error());
     $row = mysql_fetch_array($result);

     $nomimage=$row["url"];
     $album=$row["album"];
     
     // requête SQL qui récupère le nom du dossier de l'image en question
     $select = "SELECT folder FROM galbumlist WHERE id = '$album'"  ;
     $result= mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
     $folder =  mysql_result($result,0);
?>


Affichage de l'image :
<img src="galerie/img/<?php echo $folder ?>/mini_<?php echo $nomimage;?>" width="90" height="90" class="imagemini" />


Il faut savoir que sur 2bgal les tables sont les suivante : galbumlist (contenant : id et folder. folder étant le dossier sur le serveur contenant des images) et gimagelist (contenant : id, url et album, url étant "nomdelimageuploader.jpg" et album étant l'id du folder)

L'image s'affiche parfaitement , mais moi j'en aimerais plusieurs (à savoir 8) , j'ai bien changer le LIMIT 1 à LIMIT 8 dans la requête SQL mais j'avoue que je suis un peu perdu dans le script et je n'arrive pas à faire ma boucle while pour afficher plusieurs images...

Je ne sais pas si j'ai été suffisamment claire mais avez vous une idée de la syntaxe de ma boucle en fonction de ce code ?

Merci d'avance Smiley cligne
Modifié par Rastahigh (17 May 2011 - 11:22)
SELECT imagelist.url , albumlist.folder FROM gimagelist AS imagelist, galbumlist AS albumlist WHERE imagelist.album = albumlist.id ORDER BY RAND() LIMIT 0, 8


Voila pour ta requête MySQL après tu fais une boucle.

$query = "SELECT imagelist.url , albumlist.folder FROM gimagelist AS imagelist, galbumlist AS albumlist WHERE imagelist.album = albumlist.id ORDER BY RAND() LIMIT 0, 8"; 

$result = mysql_query($query,$link) or die ('Erreur : '.mysql_error()); 
$rows = mysql_fetch_array($result);

foreach($rows AS $row) {
/* TON TRAITEMENT AVEC :

$row['url']; // L'url de ton image
$row['folder']; // Le dossier de ton image

*/
} 


Modifié par Vincent_nk (17 May 2011 - 07:05)