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

Langage PHP Discussion :

Création de tableau


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Apprenti en développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Apprenti en développement logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 67
    Points : 97
    Points
    97
    Par défaut Création de tableau
    Bonjour,

    J'ai une requête sur une base de données qui je n'arrive pas a remettre dans un tableau. Je dois laisser la base de données tel quel.
    Je vous ai représenté le résultat de ma requête tel que je le vois sous SQL management :

    Voiture	Note	contrôle
    v1	12	1
    v1	15	2
    v1	17	3
    v2	25	1
    v2	35	2
    v2	26	3
    v3	28	1
    v3	19	2
    v3	31	3
    Le résultat que je dois obtenir sous le navigateur est de cet ordre :

    Les 3 colonnes sont les contrôles 1, 2 et 3.

    v1	12	15	17
    v2	25	35	2
    v3	28	19	31
    Pour v1,v2,v3, j'ai fait une autre requête pour l'écrire.

    Mais je souhaiterais qu'une seconde requête me mette dans un tableau les valeurs a la suite de façon a ce que les controles soit dans les bonnes colonnes. Controle 1 dans la première colonne, etc.

    Voici ce que j'ai juste après ma requête pour la récupérer les valeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    while (odbc_fetch_row($requete_mes)){
    	$nbr_enr = odbc_num_rows($requete_mes);
    	$mes = odbc_result($requete_mes, "mesures");
    	$ctrl = odbc_result($requete_mes, "NoControle");
     
    	if ($ctrl==1)
    		echo '<td>'.$mes.'</td>';
    	if ($ctrl==2)
    		echo '<td></td><td>'.$mes.'</td>';
    	if ($ctrl==3)
    		echo '<td></td><td></td><td>'.$mes.'</td>';
     
    	}
    J'ai testé ceci, mais forcément ça me prend une seule valeur pour chaque ligne, donc ca ne va pas. Voici le résultat :


    v1	12		
    v2		15	
    v3			17

    Si vous pouviez me donner quelques piste cela débloquerai ma situation. Et je suis certain que comme d'habitude cela va etre une solution assez simple mais là ça fait 2 jours que je tourne complètement en boucle.

    Merci.
    Cordialement.


    M4itreG

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Peut-être que je réponds totalement à côté, mais bon...
    Pourquoi en SQL, tu ne fais pas un group by ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select voiture,
    sum(note) as t_notes,
    sum(controle) as t_controles
    from mytable
     
    group by voiture;
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre régulier
    Homme Profil pro
    Apprenti en développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Apprenti en développement logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 67
    Points : 97
    Points
    97
    Par défaut
    Tout d'abord, merci d'essayer de m'aider.

    Les SUM que tu me propose ne fonctionnerons pas car je ne cherche pas a faire la somme de tout mais simplement de tout afficher.
    L'utilisateur final ne voudras pas simplement le global mais pouvoir analyser avec les différents contrôles.
    ----------------------------------------------
    Depuis j'ai fais quelques test et en rajoutant à ma requête la condition :
    Mon tableau se rempli bien sur la première colonne pour toutes les valeurs où le contrôle est égal a 1.
    Je pense que ce qu'il me manque est juste une boucle permettant de mettre un 2 dans la condition de la requête et de recommencer pareil pour un 3.

    Je pense ne pas être loin de la réponse mais ce peu me bloque tout de même.

    Cordialement.

    M4itreG

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Code sql : 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
    18
    19
    20
    21
    SELECT voiture,
    controle,
    case 
    when controle=1
    then sum(note)
    else 0
    end as note_1,
    case 
    when controle=2
    then sum(note)
    else 0
    end as note_2,
    case 
    when controle=3
    then sum(note)
    else 0
    end as note_3
     
    FROM mytable
     
    GROUP BY voiture,controle;
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  5. #5
    Membre régulier
    Homme Profil pro
    Apprenti en développement logiciels
    Inscrit en
    Octobre 2013
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Apprenti en développement logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 67
    Points : 97
    Points
    97
    Par défaut
    Merci de ton aide Dendrite, je ne connaissais pas du tout le "CASE" après le SELECT et j'ai appris quelque chose.

    Mais cela n'a pas résolu mon problème, j'ai fini par trouver une solution et en effet comme je le disais c'étais bien une histoire de boucle toute bete.

    Je donne la résolution si cela peut aider :

    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
     
    ....
    // $seq est une variable qui porte soit 1,2 ou 3 grâce a une requête reprise de dessus.
    while (odbc_fetch_row($requete_mes)){
    	$nbr_enr = odbc_num_rows($requete_mes);
    	$mes = odbc_result($requete_mes, "mesures");
    	$ctrl = odbc_result($requete_mes, "NoControle");
     
    	for ($a=0; $a<1; $a++){
    		echo '<td>'.$mes.'</td>';
    	if ($seq==2)
    		echo '<td>'.$mes2.'</td>';
    	if ($seq==3)
    		echo '<td>'.$mes2.'</td><td>'.$mes3.'</td>';
    	}
    }
    ....
    La solution est juste la boucle for qui me permet alors d'afficher mes 3 colonnes voulues.


    Très bonne journée a tous.

    Cordialement.

    M4itreG.

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

Discussions similaires

  1. création de tableau dans un autre tableau
    Par freestyler dans le forum Delphi
    Réponses: 2
    Dernier message: 02/11/2006, 08h54
  2. erreur création de tableau
    Par fabule dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 20/07/2006, 20h36
  3. Création de tableau
    Par rod59 dans le forum C
    Réponses: 10
    Dernier message: 12/11/2005, 16h40
  4. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07

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