Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2008, 10h17   #1
Membre du Club
 
Inscription : octobre 2006
Messages : 59
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : octobre 2006
Messages : 59
Points : 40
Points : 40
Par défaut [Conception] avis sur QCM - Traitements des réponses

Bonjour,

Je réalise un QCM avec comme choix de réponses les notes: 0,2,4,6,8,10 et NSP au cas ou la personne ne sache pas répondre.

La ou je bloque est la méthode de traitement du NSP, je ne peux pas lui attribuer de note et dans ma table de résultats le champs score est numérique .
Je pensais lui attribuer une valeur fixe comme NULL par exemple. Ainsi quand je fais ma requete pour calculer la moyenne sur une question je selectionne toutes les notes sur la questions sauf celles ou ils y a la valeur NULL.
Mais si je fais cette requete et que 10 personnes ont répondu à la question dont 3 qui ont séléctionné NSP, ma moyenne va se faire sur 10 ou sur 7 personnes ?

J'aimerai votre avis sur ma méthode ou si quelqu'un aurait une meilleure idée merci et bonne journée
Dam1en est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2008, 12h44   #2
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Tu peut aussi mettre un valeur négative et faire un select where note >= 0, mais tout ca c'est du detail.

Quand tu va avoir toutes tes occurences en base, et que tu va vouloir travailler dessu. Si tu récupère uniquement les occurence qui possèdent une note, tu aura donc uniquement ces valeurs, et tu poura travailler sur ces valeurs uniquement et non totale.

Ca donnerais un truc comme ca :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
//On zape la connexion a la base
$nombre = 0;
$somme = 0;
$rs = mysql_query("SELECT * FROM table WHERE note IS NOT NULL;");
while($data = mysql_fetch_array($rs))
{
  $nombre++;
  $somme += $data['note'];
}
 
echo 'la moyenne est : '$somme/$nombre;
Code non testé.
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2008, 13h16   #3
Membre du Club
 
Inscription : octobre 2006
Messages : 59
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : octobre 2006
Messages : 59
Points : 40
Points : 40
merci de ta réponse

J'ai eu des problème en attribuant la valeur NULL ... j'ai donc choisi une autre valeur : 999 ... enfin sa reprend ce que tu m'a proposé
Dam1en est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2008, 08h10   #4
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
si tu as eu un problème avec la valeur NULL c'est que ton champ doit être "NOT NULL".
Mais fait attention, en générale il est préférable que les valeur de flag (donc ici ton 999), ne soit jamais atteignable, même si la propabilité qu'elle soit atteinte est très faible.
Donc si tu a moyen d'autoriser la valeure NULL c'est le top, et au pire, met une valeur négative, au moins t'est certain (si t'est en auto_increment) que le flag ne sera jamais atteind.
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h28.


 
 
 
 
Partenaires

Hébergement Web