Affichage aléatoires des images(simultanément)

Résolu
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006 - 21 oct. 2005 à 13:34
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 24 oct. 2005 à 11:35
Bonjour à tous;
j'ai uploader des images dans un dossier et j'ai stocké leurs url dans un champs dans ma base de données.
Maintenent je veux afficher ces images: à chaque actualisation 6 images s'affichent d'une maniere aléatoire.
je pense une requete "select image from table order by rand()" comme ça j'ai tous les url aléatoirement, mais je ne sais pas comment faire pour les afficher.
Avez vous une idée? aidez moi SVP!

18 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
24 oct. 2005 à 11:02
enlève la variable $list_image elle ne sert plus à rien :



<?php

$requete=mysql_query('SELECT DISTINCT logo FROM entreprise ORDER BY RAND() LIMIT 6');

mysql_close();

while($resultat=mysql_fetch_row($requete))

{

echo ', ';

}

?>



<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 oct. 2005 à 14:16
Hello,

tu fais ta requête en ajoutant un LIMIT 1, 5 par exemple (fais des tests, je ne me souviens jamais ce que font ces paramètres et dans quel ordre, lol)
Ensuite, tu affiches le résultat de ta requête dans le src="..." d'une balise img, simplement.
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
21 oct. 2005 à 14:43
Les paramètres de LIMIT c'est comme pour subst() ou plein de fonction
de ce genre, le premier c'est l'orgine et le deuxième la longueur =)
(en sachant que le premier enregistrement a pour origine 0)

La requête devrait donner (tiens je connaissais pas rand(), j'ai appris quelque chose)



$query = "SELECT image FROM table ORDER BY rand() LIMIT 0,5";



tu envoi la requête

$result = mysql_query($query,$res); //$res est la ressource renvoyée par mysql_connect()



et tu l'exploite

$list_image="";

while($data = mysql_fetch_array($result) )

{

$list_image.= "";

}

et voila plus qu'à afficher $list_image là où tu veux =)
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
21 oct. 2005 à 14:44
Zut! Pour 6 images c'est LIMIT 0,6 biensûr :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
21 oct. 2005 à 15:36
Merci pour vos réponses,
j'ai essayé ta solution 199699 monoceros01, mais ça m'affiche toutes les images qui existent.
d'ou vient le problème ? j'ai bien mis le LIMIT 0,6
voila mon code
<?
$requet =mysql_query("select logo from entreprise ORDER BY rand() LIMIT 0,6 ");


?>
<?php

while($resultat=mysql_fetch_array($requet))
{$list_image.= \"\"; ?>
<?php echo $list_image ?>,
<? }?>
</td>

merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 oct. 2005 à 15:53
Mets juste LIMIT 6, ça suffit de toutes façons.



mais curieux que ça ne marche pas...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
21 oct. 2005 à 16:23
Salut,



ton image se trouve bien dans le répertoire courant ?

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
22 oct. 2005 à 15:27
en fait j'ai fait des recherches et je trouve que le rand() et LIMIT ne vont pas ensemble, c'est interprété mal ou meme pas interprété par mysql!
mais j'ai pas trouver une solution!
je croix qu'il me faut une table temporaire???
pour vous répondre antho, ça m'affiche les images donc il a bien trouvé et le rand() fonctionne aussi mais le problème c'est au niveaul du limit, il ne le considère pas!
J'espère que vous m'aidez!
Merci
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
22 oct. 2005 à 15:29
heu non y'a aucun problème entre rand et limit :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
22 oct. 2005 à 15:31
ben dans ton while du met une structure de controle :

$i=0;

$list_image="";

while($data = mysql_fetch_array($result))

{

if ($i==5) break;

$i++;

$list_image.="";

}
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
22 oct. 2005 à 15:53
heu mais ça c'est la solution brouillon mdr ^^

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
22 oct. 2005 à 16:22
Ouai XD J'ai eu la flemme de décortiquer le problème sur le coup.... aaah une faiblesse impardonnable! :p
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 oct. 2005 à 09:10
Tu devrais montrer comment tu as écrit ta requête, parce que si ça ne marche pas, mon idée est qu'elle est mal écrite.
0
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
24 oct. 2005 à 10:06
Bonjour et merci pour vos réponses,


voila ma requete malalam, avec la structure de controle de monoceros01
<?
$requet=mysql_query("select distinct logo from entreprise ORDER BY rand() LIMIT 6");
<?php
$i=0;
$list_image=\"\";
while($resultat=mysql_fetch_array($requet))
{ if ($i==5) break;
$i++;

$list_image.= \"\"; ?>
<?php echo $list_image; ?>, <? } ?>

et ça ne marche pas, ça m'affiche plusieurs logos et à chaque actualisation le nombre de logos affiché augmente!
avez vous une idée?
Merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 oct. 2005 à 10:35
Vire le contrôle de monoceros, il n'était pas bien réveillé ;-)



Je ne pige pas...il y a justeune partie là? Parce que tu ouvres un bloc
php, tu ne le refermes pas...tu mets du html directement dedans, puis
tu réouvres un bloc php...

Pourquoi un distinct, au passage ?
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
24 oct. 2005 à 10:52
Eclaire un peu tout ça :





<?php

$requete=mysql_query('SELECT DISTINCT logo FROM entreprise ORDER BY RAND() LIMIT 6');

mysql_close();

$list_image='';

while($resultat=mysql_fetch_row($requete))

{

echo ', ';

}

?>





<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
24 oct. 2005 à 11:28
Merci infiniment antho!
c'est génial, ça marche très bien maintenant, mais seulement j'ai mis le LIMIT 7 au lieu de 6, pour qu'il m'affiche 6 images à la fois.
Merci encore une fois!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
24 oct. 2005 à 11:35
ok pas de quoi :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0