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 :

trouver toutes les valeurs inférieures à un nombre


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 36
    Points : 27
    Points
    27
    Par défaut trouver toutes les valeurs inférieures à un nombre
    Salut,
    j'ai des notes de mes élèves dans une table MySQL, je voudrais SVP trouver les notes des matières inférieures à 5 de l'élève dont le numéro est indiqué dans une zone de texte, pour pouvoir lui mentionner des observations concernant ces matières.
    j'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $note= mysql_query("SELECT ??? from notes where numero='".$_POST[numero]."'and ???<5");
    mais je ne sais pas quoi mettre au lieu des ????

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    tu peux remplacer les ??? dans le WHERE par le nom de la colonne qui stocke la note obtenue.
    Quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'SELECT id, numero, nom, prenom, note FROM notes WHERE numero = '.$_POST['numero'].' AND note < 5'

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    sans oublier de ne pas placer une variable venant d'un formulaire directement dans une requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'SELECT id, numero, nom, prenom, note FROM notes WHERE numero = '.intval($_POST['numero']).' AND note < 5'
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 36
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Salut,

    tu peux remplacer les ??? dans le WHERE par le nom de la colonne qui stocke la note obtenue.
    Quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'SELECT id, numero, nom, prenom, note FROM notes WHERE numero = '.$_POST['numero'].' AND note < 5'
    Merci de m'avoir répondu aussi vite.
    Mais le problème est que j'ai beaucoup de champs de matières avec des notes pour chaque matière.
    exemple de ma table:

    Nom-------Lecture-------Grammaire-------conjugaison--------Production écrite....
    Jean----------4--------------5--------------- 6--------------------3----------
    Marc----------7--------------4--------------- 5--------------------5----------
    Je veux extraire les matières: Lecture, Prod.écrite pour Jean par exemple.
    Merci.

  5. #5
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    vu la structure de ta table unique tu ne pourra pas faire une requête SQL pour resoudre ton problème
    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
    $sql = 'SELECT * FROM notes WHERE numero = '.intval($_POST['numero']).';'; //on selectionne les resultats de l'éléve
    $result = mysql_query($sql);
    while($row = mysql_fetch_assoc($result))
    {  
        echo $row['numero']."</br>";//on affiche le numero
        echo $row['nom']."</br>";//on affiche le nom
        foreach($row as $key => $val) //pour toutes les colonnes
        {
                if( $key!="numero" && $key!="nom") //si ce ne sont pas les colonnes numero ou nom
                {
                    if($val < 5)//si la valeur dans la colonne est <5
                    {
                        echo "pour ".$key." la note est inférieure à 5 : ".$val."<br/>"; //on affiche
                    }   
                }
        }
    }
    l'ideal c'est de faire plusieurs tables
    une table eleves
    numero nom
    1      paul
    2      jean
    ...
    
    une table cours
    id titre
    1  lecture
    2  grammaire
    3  conjugaison
    ...
    
    une table notes
    numero     id note
    1          1  8              //l'éléve numero 1 pour le cours 1 (lecture) a la note de 8
    1          2  4              //l'éléve numero 1 pour le cours 2 (grammaire) a la note de 4
    1          3  5              //l'éléve numero 1 pour le cours 3 (conjugaison) a la note de 5
    ...
    
    l'a tu peu faire une requête sql avec des jointures qui te donnerai un résultat comme ceci
    numero nom     titre           note
    1      Jean    lecture         8
    1      Jean    grammaire       4
    1      Jean    conjugaison     5
    
    ce message vous a aidé ! Un petit click sur fait toujours plaisir

    "Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent." Bev Littlewood & Lorenzo Strigini

    "Le logiciel, c’est comme le sexe, c’est meilleur quand c’est libre/gratuit." Linus Torvalds

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/06/2014, 08h52
  2. Réponses: 6
    Dernier message: 12/01/2010, 15h39
  3. [E-03] trouver les valeurs inférieur et supérieur d'un nombre
    Par kristoch91 dans le forum Macros et VBA Excel
    Réponses: 38
    Dernier message: 30/10/2008, 15h28
  4. nombre d'occurences de toutes les valeurs d'un champ
    Par petitours dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 24/01/2008, 20h31
  5. Réponses: 3
    Dernier message: 20/01/2007, 19h09

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