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 :

Problème de bdd!


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut Problème de bdd!
    Bonjour,
    Voilà le pb que je dois résoudre:
    Une table X comporte un attribut de type entier appelé "id", un attribut de type entier appelé "nb" et attribut de type varchar appelé "nom".
    Il y a plusieurs insertions dans cette table.
    Je dois dans un premier temps calculer le nbtotal, cad additionné les nb where nom="y" et afficher.
    Ensuite je dois affiché l'id et le nb de chacun where nom="y".
    Bon, bien sur, j'ai simplifié le pb, mais l'essentiel est là.
    Comment résoudriez-vous ce pb?
    Merci de votre aide.

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    il y a plusieur solusion quelle genre veux-tu?

    on peut tous faire dans la requete

    ou sinon

    on fait des traitement php

    que prefaire tu?

    c'est quoi ta BDD?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    J'aimerai bien une sorte de compteur qui calcule le nombre d'insertion dans la table X where nom="Y".
    Ensuite a ce moment là dans chacune il récupère l'id et le nb qu'il affiche et en même temps il additionne cette valeur nb dans un nbtotal (le compteur).A la fin de la boucle de nbInsertionsX where nom="y" il affiche.
    J'espère que je suis plus clair.
    Merci de votre aide.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 161
    Points : 71
    Points
    71
    Par défaut
    ah oui j'oubliais la version de mysql sur laquelle je dois travailler est une ancienne version: je crois mysql 4.0.1

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    C'est vraiment la base de sql ce que tu demande... Je te suggère de suivre les cours et les liens que je t'ai proposés.

    Si tu donnes un poisson à un homme, il pourra manger aujourd'hui.
    Si tu lui apprends à pêcher, il pourra manger toute sa vie.

  7. #7
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    Aprendre la peche en lisant j'y croit pas trop, parcontre aprendre a pecher avec quelqu'un et pouvoir sivre son exemple en demandant pourquoi tu fait sa et pas sa.La oui ca c'est apprendre.

    Le tuto c'est bien mais quand tu conprent pas pouvoir avoir un code de quelqu'un fait pour toi et qu'il texplique la oui tu peux avencer


    Pour avoir le total des nb et pouvoir l'afficher tu peux le faire avec une requete.
    select sum(nom_champ) from nom_table where nom_champ2='le_nom_que_tu_cherche'

    nom_champ = nb dans ton exemple et nom_champ2 = nom

    pour ensuite avoir un affichage de tous les nb d'une personne tu fait la requete suivante :
    select nb,id from nom_table where nom='le nom de la personne'

    cette derniere requete ne va t'afficher que les ligne ratacher a une personne si tu veux toute les personnes fait la requete suivante :
    select * from nom_table group by nom,nb,id


    l'ordre des colonne est important apres le group by car il vas prendre en consideration la 1ere collone (ici nom) et il va renger les resulta par ordre alphabetique puis quand il trouvera 2 nom (ou plus) identique, il regardera le 2eme collone (ici nb)donc pour chaque nom identique il rengera les nb par ordre croissant .....

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Je suis désolé mais l'exemple que tu donnes n'est pas vraiment expliqué. C'est quoi un select ? c'est quoi un where ?
    Du coup le compere va se retrouver avec une requete sql qu'il ne comprend que dans sa globalité, qu'il ne pourra pas modifier au moindre bug ou à la moindre évolution de son projet.
    Pour moi on procède par étape : algèbre relationnel => sql => mysql...

    Maintenant chacun voit midi à sa porte... Soit on veut programmer, soit on fait autre chose...

  9. #9
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    Juste au cas ou je precise que j'ai dit

    Le tuto c'est bien mais quand tu conprent pas pouvoir avoir un code de quelqu'un fait pour toi et qu'il texplique la oui tu peux avencer
    sa ne veut absolument pas dire qu'il ne faut pas lire les tutos aux contraire


    Je pense que pour aprendre la premiere etape est lire un max de tuto et les garder sous le coude
    2eme etapes tu teste se que tu a compris en commencent a la base
    3eme etape dans le cas ou tu comprend pas les tutos tu demande un code a quelqu'un qui prend le temp de l'expliquer et si tu ne comprend pas certaine chose (comme c'est quoi le select) tu repars voir les tutos car tu aura une explication qui te sera utile car meme si au paravent tu n'avais pas compri maitenent que tu a un exemple qui fonctionne avec le tuto tu comprend et sinon tu demande expliquation sur le select (pourquoi il est là et pas a la fin de la requete)
    si tu comprend pas la requete tu peut demander a se qu'elle soit traduite en francais (sa sa aide beaucoup pour comprendre la facon de penser pour consevoir une requete)

    pour moi c'est comme sa que l'on aprend vite est bien

Discussions similaires

  1. [c# MYSQL] problème connexion BDD
    Par moulefrite dans le forum Requêtes
    Réponses: 1
    Dernier message: 13/07/2007, 12h44
  2. [SQL] problème update bdd
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/06/2007, 17h59
  3. Problème En BDD access
    Par mathrb dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/05/2007, 15h16
  4. [MySQL] Problème formulaire --> bdd
    Par elmago dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 19/03/2007, 17h53
  5. [MySQL] Problème de BDD chez Free
    Par linkman dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/07/2006, 19h00

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