[MySQL] Affichage aléatoire compliqué
brice77
-
polo -
polo -
Bonjour!
Voilà mon souhait : je souhaite afficher 6 offres aléatoires et de clients aléatoires sur ma page d'accueil.
Voilà ma requete :
Voilà mon problème : les offres s'affichent bien de clients aléatoires, mais quand un client a plusieurs offres dispo c'est toujours la meme qui est choisie et affichée (la premiere). Or je souhaiterai que cela soit aussi aleatoire pour les offres.
Suis je clair? sinon n'hésitez pas à demander
Merci d'avance bcp bcp
Brice77
Voilà mon souhait : je souhaite afficher 6 offres aléatoires et de clients aléatoires sur ma page d'accueil.
Voilà ma requete :
select id, id_client, date_fin,texte_offre from bdd_offre where (CURDATE() >= date_debut) AND (CURDATE() <= date_fin) group by id_client order by RAND() limit 6
Voilà mon problème : les offres s'affichent bien de clients aléatoires, mais quand un client a plusieurs offres dispo c'est toujours la meme qui est choisie et affichée (la premiere). Or je souhaiterai que cela soit aussi aleatoire pour les offres.
Suis je clair? sinon n'hésitez pas à demander
Merci d'avance bcp bcp
Brice77
A voir également:
- [MySQL] Affichage aléatoire compliqué
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Mysql community download - Télécharger - Bases de données
- Problème affichage page internet google chrome ✓ - Forum Google Chrome
- Affichage ips processeur graphique ✓ - Forum Matériel & Système
3 réponses
Salut
J'ai eu a faire un affichage aléatoire lors de la réalisation d'un site web, la seule solution fiable que j'ai trouvé, c'est de mettre toutes tes lignes dans un tableau, et il existe une commande php pour mélanger les données d'un tableau. Ensuite tu affiche le tableau via une boucle while ou for...
Je te donne la commande dés que je la retrouve...
Tchuss
J'ai eu a faire un affichage aléatoire lors de la réalisation d'un site web, la seule solution fiable que j'ai trouvé, c'est de mettre toutes tes lignes dans un tableau, et il existe une commande php pour mélanger les données d'un tableau. Ensuite tu affiche le tableau via une boucle while ou for...
Je te donne la commande dés que je la retrouve...
Tchuss
Merci de ta réponse.
J'ai aussi envisagé cette possibilité, mais par curiosité j'aimerai plutot savoir comment le faire par le SQL plutot que PHP. Ca sera moins lourd ds le code, et ma mise à jour sera plus facile que de réecrire du code.
Merci quand même!
Avis aux autres pour la solution par SQL!
J'ai aussi envisagé cette possibilité, mais par curiosité j'aimerai plutot savoir comment le faire par le SQL plutot que PHP. Ca sera moins lourd ds le code, et ma mise à jour sera plus facile que de réecrire du code.
Merci quand même!
Avis aux autres pour la solution par SQL!
voici le script pour les images mais que tu peux également utiliser à tes besoins.
C'est sans doute le script que Ohm-WorK recherche :D
Source: http://www.asp-php.net/ressources/bouts_de_code.aspx?id=158
C'est sans doute le script que Ohm-WorK recherche :D
<html>
<title>Images aléatoires</title>
<body>
<?
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'images';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// requête SQL qui compte le nombre total d'images dans la table et qui
//récupère tous leurs noms
$select = 'SELECT * FROM images';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$nbimages= mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($nbimages) {
// on remplit un tableau contenant les noms des images
$numimage=0;
while($row = mysql_fetch_array($result))
{
$nomimages[$numimage]=$row["nom"];
$numimage++;
}
// on recherche aléatoirement le numéro de la case du tableau contenant le nom de l'image à afficher
srand((double)microtime()*1000000);
$affimage=rand(1,$nbimages);
?>
<!-- Affichage de l'image -->
<img src="images/<?echo $nomimages[$affimage];?>" border=0 width=50 height=50 alt="Image aléatoire">
<?
}
?>
</body>
</html>
Source: http://www.asp-php.net/ressources/bouts_de_code.aspx?id=158