Bonjour,
J'ai crée des pages PHP qui questionnent une base de données que j'ai créé.
Jusque là tout va bien...
Mais lorsque je lis une de mes tables en demandant de mettre l'intitulé de la clé étrangère au lieu de son code, ça bug.......
Dans ma table j'ai les données suivantes pour la clé étrangère :
code_a, code_b, code_a, code_c, code_b
Et quand je lui demande de m'afficher ma table avec le libellé de mes clés étrangères, il m'affiche :
lib_a, lib_a, lib_a, lib_c, lib_c
Voici mon code :
Auriez-vous une idée sur mon problème ?
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 <?php //Connexion à la base de données mysql_connect('localhost','root',''); mysql_select_db('test_si'); $table ='contrat'; $messagesParPage=6; //Nous allons afficher 6 messages par page. //Une connexion SQL doit être ouverte avant cette ligne... $retour_total=mysql_query("SELECT COUNT(*) AS total FROM logpp_contrat;"); //Nous récupérons le contenu de la requête dans $retour_total $donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau. $total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total. //Nous allons maintenant compter le nombre de pages. $nombreDePages=ceil($total/$messagesParPage); if(isset($_GET['page'])) // Si la variable $_GET['page'] existe... { $pageActuelle=intval($_GET['page']); if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages... { $pageActuelle=$nombreDePages; } } else // Sinon { $pageActuelle=1; // La page actuelle est la n°1 } $premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire // La requête sql pour récupérer les messages de la page actuelle. $query =('SELECT * FROM logpp_contrat ORDER BY NUM_CONT ASC LIMIT '.$premiereEntree.', '.$messagesParPage.';'); $retour_messages=mysql_query($query) or die($query . " - " . mysql_error()); //$result = mysql_query($query, $link) or die($query . " - " . mysql_error()); //echo ".'$retour_messages'."; echo "<h2>Lecture de la table contenant les contrats</h2>"; echo '<p /><table border="1" width="auto">'; echo "<tr><th>Numéro du contrat</th><th>Libellé du SI</th><th>Restrictions(s)</th><th>Date</th></tr>"; while($ligne=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle //print_r($ligne); { $numero=$ligne['NUM_CONT']; $si=$ligne['CODE_SI']; $systeme=mysql_query("SELECT NOM_SI FROM logpp_si, logpp_contrat where logpp_si.CODE_SI=logpp_contrat.CODE_SI and logpp_contrat.CODE_SI = '$si';"); while ($ligne2 = mysql_fetch_assoc($systeme)){ //or die($code_systeme . " - " . mysql_error())) $nom_si=$ligne2['NOM_SI']; } $restriction=$ligne['RESTRICTION_CONT']; $date=$ligne['DATE_CONT']; echo "<tr>"; echo "<td>".$numero."</td>"; echo "<td>".$nom_si."</td>"; echo "<td>".$restriction."</td>"; echo "<td>".$date."</td>"; echo "<tr>"; //echo '</table><br /><br />'; //$ligne=mysql_fetch_assoc($retour_messages); } for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle { //On va faire notre condition if($i==$pageActuelle) //Si il s'agit de la page actuelle... { echo ' [ '.$i.' ] '; } else //Sinon... { echo ' <a href="lecture_contrat.php?page='.$i.'&table='.$table.'">'.$i.'</a> '; } } echo '</p>'; ?>
Cela fait un moment que je me casse la tête dessus........
Je vous remercie.
Partager