Bonjour les spécialistes
Depuis quelque mois j’apprends à programmer pour créer un site (avec beaucoup de difficultés).j’ai du faire comme les Pokémon a 43ans j’ai du évoluer et passer de mécanicien a informaticien et c’est tres dur !!!
Aujourd’hui je suis bloqué sur les ARRAY.
Je dois créer un tableau qui affiche sur 10 ans le nombre de gens qui ont un métier selon leur année de naissance avec comme contrainte si pour une année j’ai 0 personne affecté au métier cela doit me mettre 0
Voilà le résultat que je désir obtenir
Ligne Metier/Date 1948 1949 1950 1951 1952 etc.
1 Mécano 1 0 3 1 0
2 Soudeur 0 1 1 2 0
3 Bourrelier 0 0 2 1 1
etc.
Pour cela j’ai 2 requêtes SQL
La première me sert à afficher les métiers une seul fois
Voilà le résultat de la 2eme requete SQL
NB nom_metier Annee
1 Mécano 1948
3 Mécano 1950
1 Mécano 1951
1 Soudeur 1949
1 Soudeur 1950
2 Soudeur 1951
2 Bourrelier 1950
etc.
J’arrive à afficher les métiers et les dates par contre je n’arrive pas à faire coller le nombre qui correspond à l’année et aux métiers
Voilà ce que j’obtiens
Ligne Metier/Date 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958
1 ARMEMENT 2 2 1 3 1 2 2 1 1 1 1
2 MECANIQUE/EL 1 1 1 1 1 2 2 2 1 1 1
3 MECANIQUE GE 1 2 1 4 6 4 4 1 1 2 1
4 MECANIQUE/TO 1 7 9 1 3 1 9 6 11 1 1
5 MECANIQUE/PE
6 MECANIQUE/BO
7 MECANIQUE/HY
8 MECANIQUE/DI
9 Etc.
Le detail de mon programme
j'ai fais des recherches sur beaucoup de site dont
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 <title>Table Metier</title> </head> <body> <?php //Pour un affichage des métiers uniques $req1="SELECT DISTINCT nom_metier,num_metier FROM `avoir` AS a LEFT JOIN `metiers` AS met ON a.num_metier_metiers = met.num_metier ORDER BY `met`.`num_metier` ASC"; $res1=mysql_query($req1) or Die ("Requete ".$req1." incorrecte"); $num_rows1= mysql_num_rows($res1); //2eme Requete $req2="SELECT DISTINCT COUNT( * ) AS NB, nom_metier, YEAR( `date_naiss_person` ) AS Annee FROM `avoir` AS a LEFT JOIN `metiers` AS met ON a.num_metier_metiers = met.num_metier LEFT JOIN personnes AS p ON a.num_person_personnes = p.num_person WHERE date_fin_avoir = '0000-00-00' AND YEAR( `date_naiss_person` ) <1959 GROUP BY `num_metier_metiers` , YEAR( `date_naiss_person` ) "; $res2=mysql_query($req2) or Die ("Requete ".$req2." incorrecte"); $num_rows2= mysql_num_rows($res2); echo'<body>'; // ------------------------------------------------------- //Affichage // -------------------------------- $k=1; ?> <table border="1" width="400"> <?php // $NbrCol : le nombre de colonnes // $NbrLigne : le nombre de lignes $NbrCol = 1958; $NbrLigne = $num_rows1; //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: // 1ere ligne (ligne 0) echo'<thead>';//--entête------------------------------------------------> echo'<tr><th>Ligne</th>';//--debut 1ere ligne------------------------------> echo'<th style="background:#CCCCCC;">Metier/Date</th>'; for ($j=1948; $j<=$NbrCol; $j++) { echo'<th style="background:#FFFF66;">'; echo $j; echo'</th>';//--1ere ligne affichage des dates--------------------------> } echo'</tr>';//--fin 1ere ligne-------------------------------------------> echo'</thead>';//--fin entête--------------------------------------------> echo'<tbody>';//--corps--------------------------------------------------> // lignes suivantes::::::::::::::::::::::::::::::::::::::::::::::::::::: for ($b=0; $b<=$NbrLigne; $b++) { $tableau =mysql_fetch_array($res1); echo'<tr>'; //début 1ere ligne corps----------------------------------------------> // 1ere cellule de la 1ere colonne de la 2eme ligne (colonne 0) echo'<td style="background:#1cff0f;">'; echo $k;// affichage du nombre de ligne echo'</td>'; echo'<td style="background:#7bfff4;" >'; echo $tableau['nom_metier'];//cellule de la colonne suivante affichage du metier requete1 echo'</td>'; for ($c=0; $c<=10; $c++) { echo'<td style="background:#FFFF66;">'; $tableau2=mysql_fetch_array($res2); //Cest ici que je coince jai tenté avec des if mais sans succès echo $tableau2['NB'];} echo'</td>'; $k++; echo'</tr>'; } echo'</tbody>'; echo'</table>'; ?>
http://j-reaux.developpez.com/tutori...-tableau-html/
mais je ne trouve pas la solution a mon pb
Si quelqu'un pouvez m'aider ou me diriger sur un tuto
Je vous en remercie d'avance
Partager