Affichage aléatoire de 4 images sans doublon
Pouet24
Messages postés
25
Statut
Membre
-
Pouet24 Messages postés 25 Statut Membre -
Pouet24 Messages postés 25 Statut Membre -
Bonsoir,
dans le cadre de la création d'un tirage de tarot, je dois
- faire un tirage de 5 images. (sur 22)
- les 4 premières doivent être différentes
- la 5ème peut être la même qu'une des 4 premières.
J'ai créé un bout de code qui ne fonctionne pas --> y a des doublons.
Je suis une vraie débutante.
Je vous donne le code ainsi que la page où il est actuellement à l'essai afin que vous voyez sous quelle forme je veux le placer.
et la page http://astro-free.com/tarot.php
D'avance, un tout grand merci!
dans le cadre de la création d'un tirage de tarot, je dois
- faire un tirage de 5 images. (sur 22)
- les 4 premières doivent être différentes
- la 5ème peut être la même qu'une des 4 premières.
J'ai créé un bout de code qui ne fonctionne pas --> y a des doublons.
Je suis une vraie débutante.
Je vous donne le code ainsi que la page où il est actuellement à l'essai afin que vous voyez sous quelle forme je veux le placer.
<?php $totalimages=22; $nimages[1]="/images/01.gif"; $nimages[2]="/images/02.gif"; $nimages[3]="/images/03.gif"; $nimages[4]="/images/04.gif"; $nimages[5]="/images/05.gif"; $nimages[6]="/images/06.gif"; $nimages[7]="/images/07.gif"; $nimages[8]="/images/08.gif"; $nimages[9]="/images/09.gif"; $nimages[10]="/images/10.gif"; $nimages[11]="/images/11.gif"; $nimages[12]="/images/12.gif"; $nimages[13]="/images/13.gif"; $nimages[14]="/images/14.gif"; $nimages[15]="/images/15.gif"; $nimages[16]="/images/16.gif"; $nimages[17]="/images/17.gif"; $nimages[18]="/images/18.gif"; $nimages[19]="/images/19.gif"; $nimages[20]="/images/20.gif"; $nimages[21]="/images/21.gif"; $nimages[22]="/images/22.gif"; srand((double)microtime()*1000000); $affiche1=rand(1,$totalimages); $affiche2=rand(1,$totalimages); $affiche3=rand(1,$totalimages); $affiche4=rand(1,$totalimages); $affiche5=rand(1,$totalimages); ?> <a href="#" onClick="a.src='<?echo $nimages[$affiche1];?>'"> <img name="a" src="/images/des3.jpg" border="0"> </a> <a href="#" onClick="b.src='<?echo $nimages[$affiche2-=$affiche1];?>'"> <img name="b" src="/images/des3.jpg" border="0"> </a> <a href="#" onClick="c.src='<?echo $nimages[$affiche3-=$affiche1&&$affiche2];?>'"> <img name="c" src="/images/des3.jpg" border="0"> </a> <a href="#" onClick="d.src='<?echo $nimages[$affiche4-=$affiche1&&$affiche2&&$affiche3];?>'"> <img name="d" src="/images/des3.jpg" border="0"> </a> <a href="#" onClick="e.src='<?echo $nimages[$affiche5];?>'"> <img name="e" src="/images/des3.jpg" border="0"> </a>
et la page http://astro-free.com/tarot.php
D'avance, un tout grand merci!
A voir également:
- Affichage aléatoire de 4 images sans doublon
- Affichage double ecran - Guide
- Code gta 4 ps4 - Guide
- Doublon photo - Guide
- Des images - Guide
- Windows 11 affichage classique - Guide
8 réponses
Salut,
bein...ca va pas marcher comme ca.
Pourquoi ??
Tu recharges la page a chaque clique, alors comment peux tu savoir quelle carte á deja ete tirée. Exactement. Soit tu passes par l'adresse ou tu passe les données sous un formulaire.
Aprés, soit tu recharges la page avec "moins" de possiblilites pour les cartes oubien tu fais tourner ta boucle aussi longtemps que tu veux.
l' Homme grenouille
bein...ca va pas marcher comme ca.
Pourquoi ??
Tu recharges la page a chaque clique, alors comment peux tu savoir quelle carte á deja ete tirée. Exactement. Soit tu passes par l'adresse ou tu passe les données sous un formulaire.
Aprés, soit tu recharges la page avec "moins" de possiblilites pour les cartes oubien tu fais tourner ta boucle aussi longtemps que tu veux.
l' Homme grenouille
Mm, merci pour cette réponse mais ça m'aide pô beaucoup...
Pourrais-tu m'en dire plus? un exemple ou euh... je sais pas... mais un peu plus :)
Pourrais-tu m'en dire plus? un exemple ou euh... je sais pas... mais un peu plus :)
Pour les 4 premières :
list($affiche1, $affiche2, $affiche3, $affiche4) = array_slice(shuffle($nimages), 0, 4);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Comme ça
<?php
$nimages = array('/images/01.gif', '/images/02.gif', '/images/03.gif',
'/images/04.gif', '/images/05.gif', '/images/06.gif',
'/images/07.gif', '/images/08.gif', '/images/09.gif',
'/images/10.gif', '/images/11.gif', '/images/12.gif',
'/images/13.gif', '/images/14.gif', '/images/15.gif',
'/images/16.gif', '/images/17.gif', '/images/18.gif',
'/images/19.gif', '/images/20.gif', '/images/21.gif',
'/images/22.gif');
shuffle($nimages);
list($affiche1, $affiche2, $affiche3, $affiche4) = array_slice($nimages, 0, 4);
shuffle($nimages);
$affiche5 = $nimages[0];
?>
<a href="#" onClick="a.src='<?php echo $affiche1; ?>'">
<img name="a" src="/images/des3.jpg" border="0">
</a>
<a href="#" onClick="b.src='<?php echo $affiche2; ?>'">
<img name="b" src="/images/des3.jpg" border="0">
</a>
<a href="#" onClick="c.src='<?php echo $affiche3; ?>'">
<img name="c" src="/images/des3.jpg" border="0">
</a>
<a href="#" onClick="d.src='<?php echo $affiche4; ?>'">
<img name="d" src="/images/des3.jpg" border="0">
</a>
<a href="#" onClick="e.src='<?php echo $affiche5; ?>'">
<img name="e" src="/images/des3.jpg" border="0">
</a>