IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Amélioration d'un QCM avec affichage aléatoire des questions et affichage d'une image [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut Amélioration d'un QCM avec affichage aléatoire des questions et affichage d'une image
    Bonsoir,

    Ayant eu hier de forts intéressants échanges avec Celira et jreaux62, je souhaiterais, si c'est possible améliorer un des 2 QCM fonctionnels qui ont résulté des propositions.
    Mon objectif est de reprendre avec comme base une des 2 propositions auxquelles les échanges d'hier avec Celira et jreaux62 ont abouti mais en complétant avec les points suivants:
    • Ajouter en face de chaque question une image dépendant de la question, du type 'quel est le personnage ci-contre ? Einstein, Volt ou molière ?'

    • Afficher les enregistrements dans un ordre aléatoire, les 5 premiers, le corrigé de ces 5 puis les 5 suivants, etc, tout en mettant à jour les résultats.


    Mes idées:
    • Pour ce faire, j'ai ajouté à la table 'questions' un 4ème champ intitulé 'adresse_image' de type varchar(60) qui contient ..... l'adresse de chaque image.
    • Je pense qu'un tableau serait utile pour respecter ma mise en forme et ainsi mettre les images à gauche et les choix à droite.


    Les 2 tables en présence sont donc les suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
    -- phpMyAdmin SQL Dump
    -- version 4.4.13.1
    -- http://www.phpmyadmin.net
    --
    -- Structure de la table `questions`
    --
     
    CREATE TABLE IF NOT EXISTS `questions` (
      `id_question` int(11) NOT NULL,
      `texte_question` text NOT NULL,
      `choix_question` varchar(10) NOT NULL,
      `adresse_image` varchar(60) NOT NULL
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
     
     
    --
    -- Contenu de la table `questions`
    --
     
    INSERT INTO `questions` (`id_question`, `texte_question`, `choix_question`, `adresse_image`) VALUES
    (1, '1. Comment se nomme ce scientifique ?', '1,2,3;2', '../images/leonard.jpg'),
    (2, '2. Qui est cette personne?', '4,5,6;5', '../images/johnny-H.jpg'),
    (3, '3. Qui est ce sportif ?', '7,8,9;9', '../images/PapiM.jpg');
     
    --
    -- Index pour les tables exportées
    --
     
    --
    -- Index pour la table `questions`
    --
    ALTER TABLE `questions`
      ADD PRIMARY KEY (`id_question`);
     
    --
    -- AUTO_INCREMENT pour les tables exportées
    --
     
    --
    -- AUTO_INCREMENT pour la table `questions`
    --
    ALTER TABLE `questions`
      MODIFY `id_question` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `reponses`
    --
     
    CREATE TABLE IF NOT EXISTS `reponses` (
      `id_reponse` int(11) NOT NULL,
      `texte_reponse` text NOT NULL
    ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `reponses`
    --
     
    INSERT INTO `reponses` (`id_reponse`, `texte_reponse`) VALUES
    (1, 'Ampere'),
    (2, 'De Vinci'),
    (3, 'Volt'),
    (4, 'Isaac Hayes'),
    (5, 'Johnny Haliday'),
    (6, 'Mireille Mathieu'),
    (7, 'Carl Lewis'),
    (8, 'Ben Johnson'),
    (9, 'Papi Mougeot');
     
    --
    -- Index pour les tables exportées
    --
     
    --
    -- Index pour la table `reponses`
    --
    ALTER TABLE `reponses`
      ADD PRIMARY KEY (`id_reponse`);
     
    --
    -- AUTO_INCREMENT pour les tables exportées
    --
     
    --
    -- AUTO_INCREMENT pour la table `reponses`
    --
    ALTER TABLE `reponses`
      MODIFY `id_reponse` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=10;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    La proposition 1 consiste dans les 2 scripts suivants :
    index.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    <?php
    	// Inspiré de http://www.developpez.net/forums/d1056266/php/scripts/modification-d-sript-quizz/
    	session_start();
    	include "../php/mysqli_conf.inc.php"; // Inclusion du fichier de connexion &agrave; la base de donn&eacute;es
    	$link = mysqli_connect($host,$login,$password,$base) or die(mysqli_error($link));	// Connexion &agrave; MySql
     
     
    	/* Vérification de la connexion */
    	if (mysqli_connect_errno())
    		{
    			printf("échec de la connexion : %s\n", mysqli_connect_error());
    			exit();
    		}
     
     
    	function pre($tab)
    		{
    			echo '<pre>';
    			print_r($tab);
    			echo '</pre>';
    		}
     
      if(filter_has_var(INPUT_POST, 'goForm'))
    	{
    		//	si le bouton formulaire est cliqué (donc formulaire validé). - pareil que isset()
    		$output = '';//texte à afficher à la fin des tests.
    		for($i = 1; $i <= $_SESSION['nombre_question']-1; $i++)
    			{
    				if(filter_has_var(INPUT_POST, 'reponse_question'.$i))		//si la personne a répondu
    					{
    						$query = "SELECT * FROM QCM_DefautsDesBois_questions WHERE id_question = $i";
    						if ($result = mysqli_query($link, $query))
    							{
    								$question = mysqli_fetch_assoc($result);	/* Récupère une ligne de résultat sous forme de tableau associatif */
    								mysqli_free_result($result);
    							}
     
    						list($not_used, $reponse_juste) = explode(';', $question['choix_question']);
    						$output .= 'A la question "'.$question['texte_question'].'" vous avez répondu ';
    						if($_POST['reponse_question'.$i] != $reponse_juste)
    							{
    								$query = "SELECT texte_reponse FROM QCM_DefautsDesBois_reponses WHERE id_reponse = $reponse_juste";
    								if ($result = mysqli_query($link, $query))
    									{
    										$reponse = mysqli_fetch_assoc($result);	/* Récupère une ligne de résultat sous forme de tableau associatif */
    										mysqli_free_result($result);
    									}
    								$output .= 'faux. La réponse était: '.$reponse['texte_reponse'];
    							}
    						else
    							{
    							  $output .= 'juste. Bravo!';
    							}
    						$output .= '<br /><br />';
    				  }
    				else
    				  {
    					$output .= 'Vous n\'avez pas répondu à la question "'.$question['texte_question'].'"<br />';
    				  }
    			}
    	}
      else
    	{
    	  //si formulaire pas envoyé, on récupère les questions pour les afficher.
    	}
        require_once 'questions.php';
    ?>
    <!DOCTYPE html>
     
    <html lang="fr">
    <head>
      <meta charset="UTF-8">
     
      <title></title>
     
    </head>
    <body>
      <?php if(isset($output)){echo'<p style="text-align:center;">'.$output.'<br /><br /><a href="./index.php" title="Retour">Retour</a></p>';}else{ ?>
      <form action="./index.php" method="post">
      <?php
        $i = 1;//on initialise à 1. Ce compteur va permettre d'assigner un numéro à chaque question pour les différencier.
        foreach($questions as $question){//pour chaque question dans le tableau "$questions"
    		echo '<fieldset>';//pour faire beau
            echo '<legend>'.$question['texte_question'].'</legend>';//Le texte de la question.
            echo '<p style="padding-left:30px;">',"\r\n";
            foreach($question['choix_reponse'] as $unchoix){
              echo '<input type="radio" name="reponse_question'.$i.'" value="'.$unchoix['id_reponse'].'" required="required" /> '.$unchoix['texte_reponse'].'<br />',"\r\n";
            }
            echo '</p>';
          echo '</fieldset>';
          $i++;	//on incrémente car on va passer à la question suivante.
        }
        $_SESSION['nombre_question'] = $i;	//connaitre le nombre de question dans le formulaire après la validation.
      ?>
          <br /><input type="submit" value="Valider" name="goForm" />
      </form>
      <?php } ?>
    </body>
    </html>
    et questions.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
     
    	$questions = array();
    	$query = "SELECT * FROM QCM_DefautsDesBois_questions ORDER BY id_question";
    	if ($result = mysqli_query($link, $query))
    		{
    			while($question = mysqli_fetch_assoc($result))
    				{
    					list($liste_choix, $question['reponse_juste']) = explode(';', $question['choix_question']);//on sépare les choix de la réponse juste
    					$choix = explode(',', $liste_choix);	//on met dans un tableaux les différents choix
    					unset($question['choix_question']);
    					$question['choix_reponse'] = array();	//on va mettre dedans nos réponses qui seront chacune un tableau.
    					foreach($choix as $unChoix)
    						{
    							$query = "SELECT * FROM QCM_DefautsDesBois_reponses WHERE id_reponse = $unChoix";	//on récupère le choix de réponse
    							if ($requete_reponses = mysqli_query($link, $query))
    							{
    							// récupération du résultat de la requête
    							$reponse = mysqli_fetch_assoc($requete_reponses);
     
    								array_push($question['choix_reponse'], $reponse);//on met le choix de réponse dans le tableau de choix des réponses
    								mysqli_free_result($requete_reponses);
    							}
    						}
    					array_push($questions, $question);	//on met la réponse dans le tableau de réponses.
     
    				  //cette page génère donc la variable "questions" que nous utiliserons pour afficher le questionnaire.
    				  }
    			mysqli_free_result($result);
    		}
    ?>
    La proposition 2 consiste aussi en 2 scripts:
    quizz-questions.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <?php session_start();
    header('Content-type:text/html; charset=UTF-8');	// encodage UTF-8
    error_reporting(E_ALL); 	// en TEST
    // -----------------------------------------------
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8" />
    	<title>Questionnaire du Quizz</title>
    	<style type="text/css">
    		form#quizz-form ul { list-style-type:none; }
    	</style>
    </head>
    <body>
    <?php
    // -----------------------------------------------
    if(empty($_SESSION['quizz']))
    {
    	// ---------------------------------
    	// CONNEXION à la BdD
    	include "../php/mysqli_conf.inc.php"; // Inclusion du fichier de connexion &agrave; la base de donn&eacute;es
    	$link = mysqli_connect($host,$login,$password,$base) or die(mysqli_error($link));	// Connexion &agrave; MySql
    	mysqli_set_charset ( $link , 'UTF8' ); // ON IMPOSE UTF-8
    	// ---------------------------------
    	// Création du questionnaire
    	$questions = array();
    	$query_questions = "SELECT * FROM questions ORDER BY id_question";
    	if ($result = mysqli_query($link, $query_questions))
    	{
    		while($question = mysqli_fetch_assoc($result))
    		{
    			list($liste_choix, $question['reponse_juste']) = explode(';', $question['choix_question']);//on sépare les choix de la réponse juste
    			$question['choix_reponse'] = array();
    			// reponses
    			$query_reponses = "SELECT * FROM reponses WHERE id_reponse IN (".$liste_choix.")";	//on récupère le choix de réponse
    			if ($requete_reponses = mysqli_query($link, $query_reponses))
    			{
    				while($row_reponse = mysqli_fetch_assoc($requete_reponses))
    				{
    					$question['choix_reponse'][$row_reponse['id_reponse']]	= $row_reponse['texte_reponse'];//on met le choix de réponse dans le tableau de choix des réponses
    				}
    				array_push($questions, $question);//on met la réponse dans le tableau de réponses.
    			}
    		}
    	}
    	// ---------------------------------
    	// On met le questionnaire en SESSION
    	$_SESSION['quizz'] = $questions;
    } else {
    	// On récupère le questionnaire
    	$questions = $_SESSION['quizz'];
    }
    ?>
    	<h4>QCM</h4>
    	<form id="quizz-form" method="post" action="quizz-resultat.php">
    <?php
    // -----------------------------------------------
    // AFFICHAGE du quizz : question + choix des réponses
    	foreach($questions as $idque => $question)
    	{
          echo '		<fieldset>'."\n";
    	  echo '		<legend>'.$question['texte_question'].'</legend>'."\n";
    		if(!empty($question['choix_reponse']))
    		{
    			echo '		<ul>'."\n";
    			foreach($question['choix_reponse'] as $idrep => $reponse)
    			{
    				echo '			<li><input type="radio" name="resultats['.$question['id_question'].']" id="reponse'.$idrep.'" value="'.$idrep.'" required="required"/><label for="reponse'.$idrep.'">'.htmlspecialchars($reponse,ENT_QUOTES,'utf-8').'</label></li>'."\n";
    			}	
    			echo '		</ul>'."\n";
    		}
          echo '		</fieldset>'."\n";
    	}
    ?>
    		<p><input type="submit" name="submitQCM" value="Validez vos réponses"/></p>
    	</form>
     
    </body>
    </html>
    et quizz-resultat.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <?php session_start();
    header('Content-type:text/html; charset=UTF-8');	// encodage UTF-8
    error_reporting(E_ALL); 	// en TEST !!
    // -----------------------------------------------
    // Astuce : Enregistrer le questionnaire dans $_SESSION['quizz'] évite de faire appel à nouveau à la base de données
    // le script de connexion est inutile ici !
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
    	<title>Résultats du Quizz</title>
    <style type="text/css">
     
    </style>
    </head>
    <body>
    <?php
    // -----------------------------------------------
    // Traitement du formulaire
    if(!empty($_SESSION['quizz']) && isset($_POST['submitQCM']))
    {
    	// ---------------------------
    	// On récupère le questionnaire
    	$questions = $_SESSION['quizz'];
    	// ---------------------------
    	echo '	<h4>Résultats du Quizz</h4>'."\n";
    	$resultats = $_POST['resultats']; // array contenant le réponses du candidat
    //	var_dump($resultats);
    	// ---------------------------
    	// Question et réponses
    	$BonneRepCompteur = 0;
    	foreach($questions as $idque => $question)
    	{
    		echo '	<fieldset>'."\n";
    		echo '	<legend>'.$question['texte_question'].'</legend>'."\n";
    		echo '		<p><em>La bonne réponse est : </em><b>'.$question['choix_reponse'][$question['reponse_juste']].'</b><br />'."\n";
    		echo '		<em>Vous avez répondu : '.$question['choix_reponse'][$resultats[$question['id_question']]].'</em></p>'."\n";
     
    		if( $question['reponse_juste'] == $resultats[$question['id_question']]){ 
    			echo '		<p style="color:green;"><b>Bravo !</b> Bonne réponse !</p>'."\n";
    			$BonneRepCompteur++;
    		} else { 
    			echo '		<p style="color:red;">Faux ! Mauvaise réponse...</p>'."\n";
    		}
    		echo '	</fieldset>'."\n";
    	}
     
    	// ---------------------------
    	// Affichage du Décompte / pourcentage de bonnes réponses
    	$QuestionsNombre = count($questions);
    	$BonneRepNombre = $BonneRepCompteur;
    	$BonneRepNombre .= ($BonneRepCompteur>1)? ' bonnes réponses' : ' bonne réponse';
    	$BonneRepPourcent = round($BonneRepCompteur/$QuestionsNombre*100);
     
    	echo '		<h4>Vous avez obtenu <span style="color:green;font-size:120%;"><b>'.$BonneRepNombre.' sur '.$QuestionsNombre.'</b></span>, soit <span style="color:green;font-size:120%;"><b>'.$BonneRepPourcent.'%</b></span></h4>'."\n";
    	if($BonneRepPourcent >= 75){
    		echo '		<p style="color:green;font-size:140%;"><b>Excellent !</b></p>'."\n";
    	} elseif($BonneRepPourcent >= 50 && $BonneRepPourcent < 75){
    		echo '		<p style="color:blue;font-size:140%;">C\'est Bien !</p>'."\n";
    	} elseif($BonneRepPourcent >= 25 && $BonneRepPourcent < 50){
    		echo '		<p style="color:orange;font-size:140%;">Courage ! Peut mieux faire...</p>'."\n";
    	} else {
    		echo '		<p style="color:red;font-size:140%;">Oups ! Pas terrible...</p>'."\n";
    	}
     
    	// ----------------------------------
    	// Commencer/Recommencer le test ?
    	echo '	<h4>Recommencer le test ?</h4>'."\n";
    } else {
    	echo '	<h4>Commencer le test</h4>'."\n";
    }
    ?>
    	<form method="post" action="quizz-questions.php">
    		<p><input type="submit" name="submitQCM" value="Afficher le QCM"/></p>
    	</form>
     
    </body>
    </html>
    Mon interrogation:
    Les 2 propositions en présence sont-elles compatibles pour démarrer ou faut-il que j'en écarte une ? Merci de me donner votre avis avec le pour et le contre.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Denis,

    j'aime bien la proposition n°2


    (sérieusement) Avantage pour ta problématique :

    TOUT le questionnaire est créé UNE FOIS, et enregistré dans $_SESSION['quizz'].
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $questions =  $_SESSION['quizz'];
    C'est parfait pour le transmettre d'une page à l'autre !

    Afficher les enregistrements dans un ordre aléatoire, les 5 premiers, le corrigé de ces 5 puis les 5 suivants, etc, tout en mettant à jour les résultats.


    On a aussi besoin d'enregistrer les réponses données dans une autre variable de SESSION.

  3. #3
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut
    Bonjour,

    Comme 100% des votants se sont exprimés en faveur de la proposition 2, je vais partir là-dessus, jreaux62
    Alors, tu m'orientes vers shuffle, ok.
    J'ai donc remplacé l'ancienne ligne 49 de quizz-questions.php qui était
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['quizz'] = $questions;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['quizz'] = shuffle ($questions);		// shuffle mélange les éléments d'un tableau
    En affichant le questionnaire, les questions apparaissent effectivement dans un ordre aléatoire.
    Par contre, les réponses ne s'affichent plus et le bouton permettant de recommencer le QCM renvoie une page quasiment vierge. J'en déduis que ni les questions, ni les réponses n'ont été mémorisées et par conséquent que je n'ai pas mis le shuffle au bon endroit ou qu'il manque quelque chose; me trompe-je ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour Denis,

    Quand tu ne connais pas une fonction : cherche "shuffle php" et LIS LA DOC => shuffle ()
    Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    shuffle( $questions ); // shuffle mélange les éléments d'un tableau
    $_SESSION['quizz'] = $questions; // le tableau mélangé

    B-A-BA du débogage :
    • AFFICHER les données, pour contrôler ce qu'elles contiennent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // variable simple :
    echo $variable;
     
    // tableau (array) :
    var_dump( $tableau_array );
    // ou
    echo '<pre>'; print_r( $tableau_array ); echo '</pre>';

  5. #5
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut
    Bonjour jreaux62,

    De toute évidence, je suis allé un peu vite en besogne et j'avais lu l'explication trop en diagonale.
    Les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    shuffle( $questions ); // shuffle mélange les éléments d'un tableau
    $_SESSION['quizz'] = $questions; // met en session le tableau mélangé
    var_dump($SESSION['quizz']);	// Affiche le contenu du tableau
    ne renvoient ni TRUE ni FALSE donc je pense que shuffle est mal utilisé, c'est ça ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Le var_dump affiche le tableau... mélangé.

    CQFD.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage aléatoire des images
    Par maryem_kh dans le forum C++
    Réponses: 5
    Dernier message: 22/02/2012, 16h21
  2. Affichage aléatoire des diapositives
    Par Daniel.R dans le forum VBA PowerPoint
    Réponses: 0
    Dernier message: 01/03/2011, 20h27
  3. [AC-2007] BDD pour QCM, faire un état aléatoire des questions
    Par micapillote dans le forum IHM
    Réponses: 2
    Dernier message: 29/11/2009, 21h31
  4. [Queue]affichage aléatoire des éléments d'un queue
    Par dalhia dans le forum Général Java
    Réponses: 1
    Dernier message: 30/06/2009, 10h59
  5. affichage aléatoire des produits par ordre croissant.
    Par marcandre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/11/2008, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo