[RESOLU] tableau selection aléatoire

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

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.


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 14 Messages

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 !

Eléphanteau du PHP | 14 Messages

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 ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

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.


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 14 Messages

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) :(

Eléphanteau du PHP | 14 Messages

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 ?

Eléphanteau du PHP | 14 Messages

26 mai 2013, 13:54

pas de réponse , dommage ...