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 :

Tri de données [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut Tri de données
    Re-Bonjour,

    J'ai dans ma BDD une table analyse qui regroupe pour un projet une liste de chapitre.

    Dans ma table analyse, mes données sont présentées comme ceci :

    id_analyse, projet_nom, chap_nom.

    Une analyse va comporter plusieurs fois le même nom de projet suivant le nombre de chapitres selectionnés.

    Ex :
    id_analyse,projet_nom,chap_nom
    1,Test,Consultation
    2,Test,Contenus
    3,Test,Origine
    4,Test,Consultation

    et ainsi de suite.

    J'aimerai pouvoir lister mes chapitres mais je voudrais que si ils existent déjà (Consultation), ils n'apparaissent qu'une seule fois.

    Ex :

    Pour le projet Test, je voudrais qu'il me liste :

    Consultation,
    Contenus,
    Origine.

    Et le top serait que chaque nom de chapitre soit incrémenté dans une variable.

    Est-ce faisable et me comprenez vous bien ?

    Merci d'avance.Pour plus d'infos n'hésitez pas.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    pour récupérer les chapitres uniques:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT distinct(chap_nom) from analyse where projet_nom='".$ton_projet."'";
    Pour les compter, tu peux faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(*) from analyse where projet_nom='".$ton_projet."' and chap_nom='".$chapitre_nom."'";
    Je ne pense pas que ce soit possible en une seule requête MYSQL ceci dit (mais je suis pas sûr).

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Franchement un grand MERCI !

    J'arrive bien à récupérer seulement les valeurs qui m'interressent !!!

    Merci encore !

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    J'aurai une nouvelle question :

    Maintenant que j'ai récupéré le nom de mes chapitres, comment faire pour aller récupérer leur poids qui se situe dans la table chapitre ?

    Ex : je récupère Origine et Contenu.

    Dans la tablea chapitre, Origine vaut 5 et Contenu vaut 6.

    Comment faire pour les sélectionner ?

    Voici le code effectué grâce aux données précédentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $analyse=mysql_query("select distinct(chap_nom) from analyse where projet_nom='$projet_nom'");
    while ($data=mysql_fetch_object($analyse))
    		{
    		echo $data->chap_nom;
    		}
    Comment récupérer une à une les valeurs de $data ???

    Merci d'avance

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Essaie comme celà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $analyse=mysql_query("select distinct(chap_nom) from analyse where projet_nom='$projet_nom'");
    while ($data=mysql_fetch_object($analyse))
    		{
    		  echo $data->chap_nom;
                      $requete="select origine,contenu from chapitre where chap_nom='".$data->chap_nom."'";
                      $ress=mysql_query($erquete);
                      $autres_vars=mysql_fetch_assoc($ress);
                      echo $autres_vars["origine"];  
                      echo $autres_vars["contenu"];  
    		}

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Alors j'ai testé mais g une erreur :

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\documents and settings\ju\bureau\intranet_brest\calcul.php on line 24

    Je voudrais concrétement t'expliquer ce que je souhaite faire.
    Je réalise une application commerciale dans laquelle une liste de chapitres apparait.
    A chaque chapitre correspond x questions auquelles correspondent x réponses.

    Chacun de ces éléments a un poids bien distinct et ce que je dois faire c pr chaque chapitre, je regarde le nombre de questions choisies (dans le mm chapitre) puis j'effectue mon calcul

    Ex :
    Chapitre Consultation
    Question 1
    Question 2
    Question 3, ...
    Chapitre Origine
    Question 1

    et au final j'aurai un résultat qui sera le poid de mon chapitre en fct du choix de l'utilisateur.

    Tu me suis ?


    Dc pour l'instant je récupère le nom des chapitres selectionnés dans mon projet.

    A partir de là, il me faut récupérer leur poids dans la table chapitre.
    C'est là le hic...

    Voila j'espère que tu auras compris mon soucis...

    Merci d'avance

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    L'erreur signifie qu'il y a une erreur dans la syntaxe de la requete que je t'ai donné.
    Peux tu me donner la structure complète de la table chapitre s'il te plait?

    Si j'ai bien compris, tu devrais pouvoir, pour chaque chapitre, un poids. Ce poids est il écrit dans ta base de données ou est-il calculé à partir des données de ta base?

  8. #8
    Membre éclairé
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Par défaut
    Désolée pour le tps de réponse mais une épidémie de créve c'est abattue ici et je n'y ai pas réchappé.

    Ma table chapitre est constitué ainsi :

    id_chap, nom_chap, poids_chap.

    Un autre point :
    Je voudrais que la sélectino et la mise en variable de mes chapitres soit faite automatiquement...

    Si il détecte Origine et Contenu, je voudrais qu'il les mettent dans 2 variables, mais si il y a 5 chapitres sélectionnés ben pareil mais dans 5 variables...

    Tu vois ce que je veux faire ?

    Merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tri de données dans un tableau
    Par GESCOM2000 dans le forum Contribuez
    Réponses: 6
    Dernier message: 06/12/2006, 15h55
  2. tri des données différent entre 2 bases
    Par j6m dans le forum Oracle
    Réponses: 2
    Dernier message: 12/03/2006, 10h17
  3. gestion et tri de donnée en mémoire
    Par lenectar dans le forum C++
    Réponses: 2
    Dernier message: 05/10/2005, 13h18
  4. [JTable] Tri des données
    Par soulhouf dans le forum Composants
    Réponses: 7
    Dernier message: 08/09/2005, 14h01
  5. [CR9] Tri de données
    Par Madduck dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 24/07/2003, 09h30

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