Bonjour,
Je souhaiterai afficher dans la dernière colonne du tableau de ma page (cf : Tableau dans la Page Web), la distance entre deux villes dans une case. Cette valeur que je veux afficher existe déjà dans la base. Cependant, les villes et la distance font parties de deux tables différentes : les villes sont toutes enregistrées dans la Table Villes (une partie de la table en image : cf Structure de la Table Distance), et les distances dans la table distance & Structure de la Table Distance).
J'ai donc fais des INNER JOIN, tout se passe bien pour l'affichage des villes, mais pour la distance en kilomètre, je ne sais pas comment faire ?
Mon code pour le tableau et mes fonctions se trouvent ci-dessous.
Sachez que je ne peux pas modifier ma BDD car elle m'est imposée par mon professeur.
Pour info, il y a une jointure en Ville_Id -> Dist_NoVille1 et Ville_Id -> Dist_NoVille2. Et que pour l'instant, je mets la valeur de la colonne "Distance"
Mon code pour ma page (cf : Code Fonctions pour Afficher les villes dans le Tableau) et le code pour les fonctions que j'utilise (cf : Fonctions pour Afficher les villes dans le Tableau).
Comment je pourrai m'y prendre ?
Merci de votre aide
RESSOURCES
Tableau dans la Page Web
Structure de la Table Distance
Structure de la Table Villes
Code Fonctions pour Afficher les villes dans le Tableau
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 <?php // Afficher De function DistanceVillesA($connexion){ try{ $req = $connexion->prepare("SELECT Ville_Id, Ville_Nom FROM Ville INNER JOIN distance ON ville.Ville_Id = distance.Dist_NoVille1"); $req->execute(); return $req; } catch(Exception $e){ die(print("Erreur : " . $e->getMessage())); } } // Afficher A function DistanceVillesB($connexion){ try{ $req = $connexion->prepare("SELECT Ville_Id, Ville_Nom FROM Ville INNER JOIN distance ON ville.Ville_Id = distance.Dist_NoVille2"); $req->execute(); return $req; } catch(Exception $e){ die(print("Erreur : " . $e->getMessage())); } } ?>
Code Tableau Parametrage.php
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 // Récup Villes pour Tableau $req5 = DistanceVillesA($connexion); $req6 = DistanceVillesB($connexion); // Tableau pour Afficher Valeurs <table border="1" cellpadding="10"> <tr> <th>De</th> <th>A</th> <th>Distance</th> </tr> <?php while(($donnees = $req5->fetch()) AND ($donnees2 = $req6->fetch())){ ?> <tr> <td align="center"><?php print($donnees['Ville_Nom']);?></td> <td align="center"><?php print($donnees2['Ville_Nom']);?></td> <td align="center"><?php print(0);?></td> </tr> <?php } ?>
Partager