[RESOLU] comment calculer une note

le loup solitaire
Invité n'ayant pas de compte PHPfrance

26 avr. 2016, 11:47

bonjour,

j'aimerai faire un calcule de bonnes et mauvaises réponses, j'ai créer deux tableau et recupere avec count mais rien a faire...
<?php
$reponses = array(
	'chx' => array(
		'reponse' => 'une',
		'mot' => 'route'
	) ,
	'chx_1' => array(
		'reponse' => 'un',
		'mot' => 'four'
	) ,
	'chx_2' => array(
		'reponse' => 'un',
		'mot' => 'bouton'
	) ,
	'chx_3' => array(
		'reponse' => 'un',
		'mot' => 'jour'
	) ,
	'chx_4' => array(
		'reponse' => 'une',
		'mot' => 'poubelle'
	) ,
	'chx_5' => array(
		'reponse' => 'un',
		'mot' => 'nouveau'
	) ,
	'chx_6' => array(
		'reponse' => 'un',
		'mot' => 'trou'
	) ,
	'chx_7' => array(
		'reponse' => 'une',
		'mot' => 'nouvelle'
	) ,
	'chx_8' => array(
		'reponse' => 'un',
		'mot' => 'tournevis'
	) ,
	'chx_9' => array(
		'reponse' => 'une',
		'mot' => 'douche'
	) ,
);

foreach($reponses as $cle => $reponse)
	{
	if (isset($_POST['correction']))
		{
		$clic = $_POST[$cle];
		$errors = array();
		$point = array();
		if (empty($clic))
			{
			$msg = '<p>veuillez remplir tous les champs</p>';
			echo $msg;
			}
		  else
		if ($clic === $reponse['reponse'])
			{
			$point[$cle] = htmlspecialchars($clic);
			echo '<p style="margin-left:4em;">' . $reponse['reponse'] . '</p><p>' . $reponse['reponse'] . '</p><p style="margin-left:5.3em;">' . $reponse['mot'] . '</p><br />';
			}
		  else
		if ($clic !== $reponse['reponse'])
			{
			$errors[$cle] = htmlspecialchars($clic);
			echo '<article><p style="color:red;margin-left:3.9em;"><del>' . $errors[$cle] . '</p></del><p>' . $reponse['reponse'] . '</p><p style="text-align:right;margin-left:5em;">' . $reponse['mot'] . '</p></article>';
			}
		}
	}

echo '<br />';
echo '<p style="display:inline-block;margin:2em 0 0 5%;padding:.5em;background:#54d0ce;font-size:1.2em;">Bonnes réponses :' . count($point[$cle]) . '-' . count($errors[$cle]) . '/10</p>';
echo '<br /><br />';
?>
merci d avance pour vos explications

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

26 avr. 2016, 12:41

Bonjour,

Dans ton tableau $point tu ajoutes une entrée à chaque bonne réponse. Dans $errors, tu ajoutes une entrée à chaque mauvaise réponse...
Ton nombre de points est donc count($point) et ton nombre d'erreur count($errors)...

et au besoin (count($reponses) - count($point) - count($errors)) devrait être le nombre de questions auxquelles l'utilisateur n'a pas répondu :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

le loup solitaire
Invité n'ayant pas de compte PHPfrance

26 avr. 2016, 13:11

merci beaucoup, du coup juste $point suffit, et encore un grand merci