|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Patricia Presque retraitée Inscription : septembre 2008 Messages : 55 ![]() |
Bonjour,
Bien que j'ai fait de gros progrès en ce qui concerne mysql, je sèche sur une requête qui est peut-être très simple... J'ai une table comportant les champs : n° nouvelle ; age ;classe ; titre ; jure1 ; jure2 ; jure3 ; jure4 ; jure5 ; jure6 ; jure7 ; jure8 ; jure9 ; jure10 ; jure11 ; Je vous détaille cette table (au cas où cela puisse aider à bien comprendre ma question située en fin de ce message) : - n° de nouvelle : ce n° sera entré dans la table au fur et à mesure de la réception des nouvelles dont les numéros ont été attribués lors de l'inscription du participant, donc sans ordre dans la numérotation ; - age : il sera pris en compte pour déterminer dans quelle classe la nouvelle participera ; - classe : 2 différentes (ado et adultes) ; - titre : le titre de la nouvelle ; - jure1, jure2, etc : chacun des 11 jurés aura son n° et notera toujours sous ce même numéro. Toutes les notes ne seront pas entrées en même temps, car elles le seront par les jurés eux-mêmes au moment où ils le décideront. En attendant l'entrée des notes, un 0 occupe les champs jure1, jure2, etc. J'ai fait une page de résultats qui donnera le total des notes obtenues pour chaque nouvelle, mais j'aimerais pouvoir préciser, pour chacunes d'elles, le nombre de jurés qui ne les ont pas encore notées. Ce qui revient à compter le nombre de 0 présents dans chaque ligne, mais uniquement dans certaines colonnes : jure1, jure2, etc. Et c'est là que je bloque depuis 3 jours... J'espère que je mes explications sont claires et je vous remercie de votre aide. |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Bonjour,
tu peux passer par un case : Code sql :
|
||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Patricia Presque retraitée Inscription : septembre 2008 Messages : 55 ![]() |
Un grand merci !
C'est vrai qu'utiliser un CASE ne me vient jamais à l'esprit... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 528 ![]() |
Saluton,
En fait, si la base de données était en formes normales, ce genre de demande pourrait être satisfait bien plus simplement.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#5 | |
|
Nouveau Membre du Club
![]() Patricia Presque retraitée Inscription : septembre 2008 Messages : 55 ![]() |
Bonjour,
Citation:
- ni leur numéro de juré ; - ni le numéro de la nouvelle ; - ni la catégorie dans laquelle concourt la nouvelle. Ils accèderont au module de notation via un login et un mot de passe et n'auront qu'à choisir dans un menu déroulant les N° et titre de la nouvelle qu'ils voudront noter ou ceux de la nouvelle dont ils voudront modifier la note. Mais à part cela, ils veulent pouvoir consulter à tout moment : - le total des points obtenus pour chaque nouvelle, dans chacune des deux catégories avec précision du nombre de votants ; - le classement des nouvelles, du premier au dernier, dans chacune des deux catégories ; - le détail des notes mises par les autres jurés, dans chacune des deux catégories. J'avais procédé autrement pour le précédent concours, les laissant entrer le numéro de la nouvelle et la note et ils ont fait tellement d'erreurs en entrant le numéro de la nouvelle que j'ai passé deux jours à reprendre manuellement ma table... Donc, cette année, j'ai simplifié : j'entre les numéros de nouvelles, la catégorie, l'age du concurrent et le titre et je mets un 0 dans jure1, jure2, etc. De cette façon, lorsqu'ils entrent leur note, ile ne font, en définitive, que modifier celle que j'ai déjà placée. Le seul problème que j'avais était de savoir combien de jurés n'avaient pas voté, et pour cela il me fallait pouvoir compter le nombre de zéros dans les colonnes jure... Maintenant s'il y a plus simple, je suis preneuse... |
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 528 ![]() |
La problématique de l'IHM ne doit pas interférer avec la modélisation des données.
La construction et la présentation du formulaire aux utilisateurs puis son traitement pour alimenter la base de données doivent permettre de gérer ces deux impératifs : -mâcher le travail de saisie -respecter l'intégrité du système d'information. Je ne vois là rien que de très basique, en somme.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#7 | |
|
Nouveau Membre du Club
![]() Patricia Presque retraitée Inscription : septembre 2008 Messages : 55 ![]() |
Simplifier le travail des personnes qui utiliseront ce que j'ai appelé un "module de notation" est ce que j'ai fait, du moins je l'espère, mais je n'ai pas votre réponse à la question que je vous ai posée après ce post :
Citation:
Et j'ajouterai : qu'est ce qui vous indique, simplement en voyant les champs qui constituent l'une des tables de ma base de données que celle-ci n'était pas (et je reprends vos termes) "en formes normales" ? Je ne suis qu'une "amateuse" qui a appris seule le peu que je sais sur le php et le mysql et qui fait un travail bénévole pour les organisateurs d'un concours de nouvelles. C'est en pratiquant et en faisant appel à l'aide des autres, lorsque je n'arrive pas à trouver seule la solution après plusieurs jours d'essais, que j'en apprends un peu plus, donc votre réponse à mes questions ne pourra que m'être bénéfique... |
|
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 528 ![]() |
Bien que je sente un peu d'agacement dans tes propos, voire davantage
une table jure {id,pseudo, mdp} une table nouvelle{n° nouvelle ; age ;classe ; titre } et une table vote {id_nouvelle,id_jure,note} dans laquelle les colonnes id_nouvelle et id_jure sont des clés étrangères (foreign keys) constituant une clé primaire (donc UNIQUE) composée.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
Copyright © 2000-2012 - www.developpez.com