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 :

Création tableau en fonction du résultat d'une requête


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut Création tableau en fonction du résultat d'une requête
    Bonjour,

    J'ai la requête suivante dans laquelle je récupère les données qui m'intéresse:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT ID_tooltype, tooltype_long_name, QRTool, gmao.idtools.ID AS ID_tool, COUNT(ID_tool) AS Occurence 
    FROM gmao.breakdown, gmao.idtools, gmao.tooltype 
    WHERE gmao.idtools.ID=gmao.breakdown.ID_tool 
    AND gmao.idtools.ID_tooltype=gmao.tooltype.ID 
    GROUP BY ID_tool 
    ORDER BY ID_tooltype, Occurence DESC

    Je récupère dans la colonne:
    • -ID_tooltype: ID du type de mon outillage,
    • -tooltype_long_name: Dénomination de mon type d'outillage,
    • -QRTool: Nom de mon outillage,
    • -ID_tool: ID de mon outillage,
    • -Occurence: Nombre de fois qu'une panne a été trouvée



    Je souhaiterai créer des tableaux pour chaque type d'outillage et inscrire dedans le nom des outillages associés et le nombre d’occurrences.

    Ci-joint, le résultat de ma requête:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    ID_tooltype,tooltype_long_name,QRTool,ID_tool,Occurence
    1,"Porte-outil sertissage bille 3.5",POOU0005,33,1
    1,"Porte-outil sertissage bille 3.5",POOU0011,39,1
    1,"Porte-outil sertissage bille 3.5",POOU0006,34,1
    11,"Bloc de bouchonnage vertical ABS Reuse",TEOV0008,154,1
    15,"Vanne SITEC NO",SINO0006,88,5
    15,"Vanne SITEC NO",SINO0056,177,4
    15,"Vanne SITEC NO",SINO0001,83,4
    15,"Vanne SITEC NO",SINO0029,111,4
    15,"Vanne SITEC NO",SINO0027,109,3
    15,"Vanne SITEC NO",SINO0009,91,3
    15,"Vanne SITEC NO",SINO0047,129,3
    15,"Vanne SITEC NO",SINO0042,124,3
    15,"Vanne SITEC NO",SINO0004,86,3
    15,"Vanne SITEC NO",SINO0031,113,2
    15,"Vanne SITEC NO",SINO0026,108,2
    15,"Vanne SITEC NO",SINO0045,127,2
    15,"Vanne SITEC NO",SINO0012,94,2
    15,"Vanne SITEC NO",SINO0022,104,2
    15,"Vanne SITEC NO",SINO0002,84,2
    15,"Vanne SITEC NO",SINO0024,106,2
    15,"Vanne SITEC NO",SINO0025,107,2
    15,"Vanne SITEC NO",SINO0054,174,2
    15,"Vanne SITEC NO",SINO0043,125,1
    15,"Vanne SITEC NO",SINOOO34,183,1
    15,"Vanne SITEC NO",SINO0005,87,1
    15,"Vanne SITEC NO",SINO0051,133,1
    15,"Vanne SITEC NO",SINO0017,99,1
    15,"Vanne SITEC NO",SINO0034,116,1
    15,"Vanne SITEC NO",SINO0014,96,1
    15,"Vanne SITEC NO",SINO0041,123,1
    15,"Vanne SITEC NO",SINO0039,121,1
    15,"Vanne SITEC NO",SINO0019,101,1
    15,"Vanne SITEC NO",SINO0044,126,1
    15,"Vanne SITEC NO",SINO0035,117,1
    15,"Vanne SITEC NO",SINO0049,131,1
    15,"Vanne SITEC NO",SINO0050,132,1
    15,"Vanne SITEC NO",SINO0023,105,1
    15,"Vanne SITEC NO",SINO0057,185,1
    15,"Vanne SITEC NO",SINO0046,128,1
    16,"Vanne SITEC NC",SINC0008,68,2
    16,"Vanne SITEC NC",SINC0002,62,2
    16,"Vanne SITEC NC",SINC0010,70,1
    16,"Vanne SITEC NC",SINC0015,75,1
    16,"Vanne SITEC NC",SINC0005,65,1
    16,"Vanne SITEC NC",SINC0022,82,1
    16,"Vanne SITEC NC",SINC0011,71,1
    16,"Vanne SITEC NC",SINC0001,61,1
    16,"Vanne SITEC NC",SINC0017,77,1
    16,"Vanne SITEC NC",SINC0012,72,1
    16,"Vanne SITEC NC",SINC0018,78,1
    16,"Vanne SITEC NC",SINC0009,69,1
    16,"Vanne SITEC NC",SINC0013,73,1
    16,"Vanne SITEC NC",SINC0003,63,1
    16,"Vanne SITEC NC",SINC0019,79,1
    16,"Vanne SITEC NC",SINC0014,74,1
    16,"Vanne SITEC NC",SINC0004,64,1
    16,"Vanne SITEC NC",SINC0021,81,1
    17,"Unité de décompression",SCUD0003,59,2
    17,"Unité de décompression",SCUD0002,58,1
    17,"Unité de décompression",SCUD0001,57,1
    18,"Déclasseur EV",DEEV0023,23,1
    18,"Déclasseur EV",DEEV0003,3,1
    2,"Porte-outil sertissage bille 5.5",POOU0003,31,1
    3,"Porte-outil sertissage Accu cap",POOU0038,184,1
    4,"Porte-outil sertissage EV-PE",POOU0027,49,5
    4,"Porte-outil sertissage EV-PE",POOU0025,47,4
    4,"Porte-outil sertissage EV-PE",POOU0035,173,4
    4,"Porte-outil sertissage EV-PE",POOU0022,44,4
    4,"Porte-outil sertissage EV-PE",POOU0020,42,4
    4,"Porte-outil sertissage EV-PE",POOU0028,50,2
    4,"Porte-outil sertissage EV-PE",POOU0024,46,2
    4,"Porte-outil sertissage EV-PE",POOU0021,43,2
    7,"Broche WEBER",WEBE0007,165,2
    7,"Broche WEBER",WEBE0002,160,2
    7,"Broche WEBER",WEBE0001,159,2
    7,"Broche WEBER",WEBE0014,172,1
    7,"Broche WEBER",WEBE0005,163,1
    7,"Broche WEBER",WEBE0009,167,1
    9,"Bloc de test vertical Runner",TEOV0003,149,1
    Merci par avance pour votre aide précieuse.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Où est le problème ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut
    Construire la table n'est pas le soucis, mais c'est le traitement des données récupérées qui me pose soucis pour le mettre dans un tableau...

    Je voudrais que du résultat trouvé ci-dessus récupérer:
    -Un ID_tooltype/tooltype_long_name unique (titre de mon tableau),
    -Récupérer tout les QRTool+ID_tool+occurence associés à l'ID_tooltype,

  4. #4
    Invité
    Invité(e)
    Par défaut
    Et donc...... En quoi ça pose problème ?

    Quel est ton code (PHP) actuel ?

    Et montre ce que tu veux obtenir (tableau HTML)

  5. #5
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut
    Mon code:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <!-- Nouveau concept d'affichage (par type d'outillage) -->
    	<?php 
    	while($Q_tooltype_result_row = $Q_tooltype_result->fetch_assoc()) {
     
    ?>
        <div class="col-lg-6">
            <div class="panel panel-primary">
                <div class="panel-heading"><b><?php echo $Q_tooltype_result_row['tooltype_long_name'].' [ID_'.$Q_tooltype_result_row['ID'].']' ;?></b></div><!-- /.panel-heading -->
                    <div class="panel-body">
                        <div class="table-responsive">
                            <table class="table table-striped">
                                <thead>
                                    <tr>
                                        <th>Outil</th>
                                        <th>Nombre d'occurence</th>
                                        <th>Détails</th>
                                        <th>Historique</th>
                                    </tr>
                                </thead>
                                <tbody><?php
    								//echo $Q_tooltype_result_row['ID'].'<br>';
     
    								while ($Q_Occurence_tooltype_result_row = $Q_Occurence_tooltype_result->fetch_assoc()) {
    									if($Q_tooltype_result_row['ID']==$Q_Occurence_tooltype_result_row['ID_tooltype']){
    									//echo "W2_".$Q_Occurence_tooltype_result_row['tooltype_long_name'].' '.$Q_Occurence_tooltype_result_row['QRTool'].'<br>';
    									echo '<tr>
    											<td>'.$Q_Occurence_tooltype_result_row['QRTool'].' | '.$Q_Occurence_tooltype_result_row['ID_tooltype'].'</td>
    											<td>'.$Q_Occurence_tooltype_result_row['Occurence'].'</td>
    											<td><a target=_blank href="details_of.php?idtool='.$Q_Occurence_tooltype_result_row['ID'].'"><i class="fa fa-bar-chart" aria-hidden="true"></i></a></td>
    											<td><a target=_blank href="tool_history.php?idtool='.$Q_Occurence_tooltype_result_row['ID'].'"><i class="fa fa-history" aria-hidden="true"></i></a></td>
    										  </tr>';
    								}
    								}?>
                                </tbody>
                             </table>
                        </div><!-- /.table-responsive -->
                    </div><!-- /.panel-body -->
            </div><!-- /.panel -->
        </div>
     
    			<?php } ?>
    <!-- Fin nouveau concept d'afichage -->
    Le genre de tableau que je génère: https://blackrockdigital.github.io/s...es/tables.html (Striped Rows )

  6. #6
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut
    Normalement, c'est bon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /* Récupération de tout les types outils */
    	$Q_tooltype = "SELECT * FROM gmao.tooltype";
    	$Q_tooltype_result = $db->query($Q_tooltype);
     
    	/* Nombre d'occurence par type d'outillage */
    	$Q_Occurence_tooltype = "SELECT ID_tooltype, tooltype_long_name, gmao.idtools.ID, QRTool, COUNT(ID_tool) AS Occurence FROM gmao.breakdown, gmao.idtools, gmao.tooltype WHERE gmao.idtools.ID=gmao.breakdown.ID_tool AND gmao.idtools.ID_tooltype=gmao.tooltype.ID GROUP BY ID_tool ORDER BY Occurence DESC";
    	$Q_Occurence_tooltype_result = $db->query($Q_Occurence_tooltype);
    	/*$Q_Occurence_tooltype_result_row = $Q_Occurence_tooltype_result->fetch_assoc()*/
     
    	$aOccurenceOfEachTooltype=array();
    	while ($Q_Occurence_tooltype_result_row = $Q_Occurence_tooltype_result->fetch_assoc()) {
    		$aOccurenceOfEachTooltype[]=array($Q_Occurence_tooltype_result_row['ID_tooltype'], $Q_Occurence_tooltype_result_row['tooltype_long_name'], $Q_Occurence_tooltype_result_row['QRTool'], $Q_Occurence_tooltype_result_row['ID'], $Q_Occurence_tooltype_result_row['Occurence']);
    	}
    Puis:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <!-- Nouveau concept d'affichage (par type d'outillage) -->
    	<?php 
    	while($Q_tooltype_result_row = $Q_tooltype_result->fetch_assoc()) {
     
    ?>
        <div class="col-lg-6">
            <div class="panel panel-primary">
                <div class="panel-heading"><b><?php echo $Q_tooltype_result_row['tooltype_long_name'];?></b></div><!-- /.panel-heading -->
                    <div class="panel-body">
                        <div class="table-responsive">
                            <table class="table table-striped">
                                <thead>
                                    <tr>
                                        <th>Outil</th>
                                        <th>Nombre d'occurence</th>
                                        <th>Détails</th>
                                        <th>Historique</th>
                                    </tr>
                                </thead>
                                <tbody><?php
    								FOR($i=0; $i<COUNT($aOccurenceOfEachTooltype); $i++){
    									IF($Q_tooltype_result_row['ID']==$aOccurenceOfEachTooltype[$i][0]){
    										echo '<tr>
    											<td>'.$aOccurenceOfEachTooltype[$i][2].'</td>
    											<td>'.$aOccurenceOfEachTooltype[$i][4].'</td>
    											<td><a target=_blank href="details_of.php?idtool='.$aOccurenceOfEachTooltype[$i][3].'"><i class="fa fa-bar-chart" aria-hidden="true"></i></a></td>
    											<td><a target=_blank href="tool_history.php?idtool='.$aOccurenceOfEachTooltype[$i][3].'"><i class="fa fa-history" aria-hidden="true"></i></a></td>
    										  </tr>';
    								}
    								}?>
                                </tbody>
                             </table>
                        </div><!-- /.table-responsive -->
                    </div><!-- /.panel-body -->
            </div><!-- /.panel -->
        </div>

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/02/2008, 17h14
  2. Verrouillage d'un formulaire en fonction du résultat d'une requête
    Par jaknichan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 02/01/2008, 10h10
  3. Réponses: 3
    Dernier message: 05/10/2007, 14h37
  4. [SQL] Création de listes à partir des résultats d'une requête
    Par MANU_2 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/09/2007, 14h56
  5. Réponses: 6
    Dernier message: 25/09/2006, 14h11

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