[RESOLU] tableau selection aléatoire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] tableau selection aléatoire

Re: tableau selection aléatoire

par jack91 » 26 mai 2013, 13:54

pas de réponse , dommage ...

Re: tableau selection aléatoire

par jack91 » 25 mai 2013, 18:59

et si je faisait deux listes , la 2eme etant une liste avec une seule valeur : ma variable , et que je fasse un array_replace , ça marcherait ?

Re: tableau selection aléatoire

par jack91 » 25 mai 2013, 00:03

pour garder la valeur precedente en session c'est bon , c'est comme j'ai fait avant ?!?
par contre pour supprimer la valeur , j'utilise unset ? , non car si j'utilise unset ca me sort une erreur ... je l'ai placer comme tu as dit avant le 1er rand , si tu pouvais me donner juste la ligne de code correspondante car la j'ai pas trop compris , désolé ...

ps : Le array_unique precedent (du code cité un peu plus haut) me supprime la mauvaise valeur (new alors que je voulais effacer celle de la liste) :(

Re: tableau selection aléatoire

par moogli » 24 mai 2013, 23:10

garde la valeur précédente en session si c'est lié à l'utilisateur, ou dans un fichier, un champs de base comme tu veux.

à l'affichage tu supprime du tableau la valeur précédente pour être certain qu'elle ne s'affiche pas.


@+

Re: tableau selection aléatoire

par jack91 » 23 mai 2013, 21:02

Désolé pour le double post , il semble que le problème ai disparu grâce à ce code (le précédent modifié) :
<?php
     $input = array('A','B','C','D','E','F','G');
	 $rand_keys = array_rand($input, 3);
     foreach($rand_keys as $key) {
         $finalTab[$key] = $input[$key];
     }
	 $result = array_unique($finalTab) ;
     shuffle($result);
	 $result['new'] = $new;
	 $_SESSION['new'] = $result['new'] ;
	 $result = array_unique($result) ;
     foreach($result as $key => $value){
         echo '<label for="radio'.$key.'">'.$value .'</label><input type="radio" name="brain" value="'.$key.'" /><br />';
     }
?>
plus un session_start() précédemment , le code est bon ou il y a une ou des erreurs ?

Re: tableau selection aléatoire

par jack91 » 23 mai 2013, 15:09

c'est a dire ?
non , mais en faite si j'ai bien compris ce n'est pas ça que je veut faire , je ne veut pas le supprimer enfin pas si je réactualise , je veut avoir un groupe radio style :
-A
-C
-G
-F
et non
-B ($new)
-c
-G
-B (array , celui que je souhaite ne pas afficher)
tu as compris ou c'est moi qui n'ai pas compris ?

EDIT : si je remplace le bout de code , par celui impliquant la perte des clefs , il semble que le array_unique fasse très bien son boulot mais ca m'embête du a la perte de la clef !

Re: tableau selection aléatoire

par moogli » 22 mai 2013, 23:26

salut,

garde l'affichage précédente en session et supprime le du tableau avant le 1er rand, comme ça tu sera sur de ne pas afficher deux fois de suite la même chose.


@+

Re: tableau selection aléatoire

par jack91 » 22 mai 2013, 21:08

personne n'as d'idée(s) ?

Re: tableau selection aléatoire

par jack91 » 21 mai 2013, 21:55

Bonjour , me revoilà hélas ,
je pensais avoir ,depuis un certain temps, réglé le problème , puis le voila qui surgit de nul part
donc revoila le bout de code :
<?php
     $input = array('A','B','C','D','E','F','G');
     $input['new'] = $new ;
	 $rand_keys = array_rand($input, 3);
     $rand_keys[] = 'new';
	 $result = array_unique($rand_keys);
     shuffle($result);
	foreach($result as $key){
		 echo '<label for="radio'.$key.'">'.$input[$key] .'</label><input type="radio" name="brain" value="'.$key.'" /><br />';
     }
     ?>
le problème est le suivant : $new est soit A soit B , etc... et je ne connait pas d'avance qui sera $new , donc voila sur 5-6 actualisation environ , je me retrouve avec deux A ou deux B etc... et moi je ne veut qu'une seule lettre possible (les lettres sont utilisés ici pour simplifier le code) ; la fonction array_unique ne fonctionne pas comme je le voudrait , j'aimerais que vous m'éclairiez un peu svp !

Re: tableau selection aléatoire

par jack91 » 23 avr. 2013, 09:42

En effet je n'avais pas vu le ; manquant , je te remercie du conseil , je me debrouille pas trop mal dans la syntaxe , je n'y ai seulement pas fait attention et c'est une grande erreur , merci pour l'aide !
a bientot :)

Re: tableau selection aléatoire

par moogli » 21 avr. 2013, 23:00

au niveau du rand je pense pas, la ligne suivant pourquoi pas il manque un ;

donc du coup si tu colle ça avec ton code (donc avec $new existant avant) le code est fonctionnel.

Effectivement j'ai fait un erreur d’étourderie, mais bon un petit effort comme ajouter un ; c’est pas grand chose.

je t'invite a revoir les tutos de bases sur la syntaxe php !


@+

Re: tableau selection aléatoire

par jack91 » 21 avr. 2013, 20:06

merci pour l'aide , cependant le code , que tu as fait , sort une erreur au niveau du shuffle ...

Re: tableau selection aléatoire

par moogli » 20 avr. 2013, 23:31

aucun rapport c'est juste que shuffle ré ordonne les élements du tableau, or cela implique la perte des clefs du tableau.

du coup mon code n'est pas top, il devrait plutôt être dans ce style
<form action="" method="post">
    <?php
    $input = array('A','B','C','D','E','F','G');
    $rand_keys = array_rand($input, 3);
    $rand_keys[] = 'new';
    shuffle($rand_keys);
    $input['new'] = $new
    foreach($rand_keys as $key){
        echo '<label for="radio'.$key.'">'.$input[$key] .'</label><input type="radio" name="brain" value="'.$key.'" /><br />';
    }
    ?>
</form>
bon après il y a surement plus simple suivant la provenances des données.

@+

Re: tableau selection aléatoire

par jack91 » 20 avr. 2013, 21:20

Par contre elle ne conserve pas les clefs donc attention a ce qu'elle ne soit pas utile.
Qu'entend tu par la , je ne peut pas la faire réagir avec une autre page php si je met un submit ?

Re: tableau selection aléatoire

par moogli » 20 avr. 2013, 19:50

Shuffle mélange un tableau c'est tout.

Par contre elle ne conserve pas les clefs donc attention a ce qu'elle ne soit pas utile.

@+