refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 février 2006
-
21 oct. 2005 à 13:34
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 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!
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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.
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 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 =)
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 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 ");
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 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
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 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++;
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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...
refkaben
Messages postés151Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention21 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!