Bonjour,
J'essaie désespérément de sélectionner un nom dans une liste déroulante et afficher les données liées sélectionnées dans un tableau. L'id du nom sélectionné est bien récupéré dans le formulaire, mais au lieu d'afficher uniquement les données sélectionnées, mon tableau affiche tout, cela fait plusieurs jours (et nuits !!) que je cherche mais je ne trouve pas où est l'erreur. Voici le code de mes deux formulaires :

Formulaire avec la liste déroulante :

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
 
 
<?php
include("include/variables.inc.php");
include("menu.php");
// Connexion à MySQL
$liendb = mysql_connect($bddserver, $bddlogin, $bddpassword);
mysql_select_db($bdd);
 
//creation de la requete et excécution de la requete
//**************************************
$query = "SELECT * FROM locataires 
WHERE  reserve = 'oui'
ORDER BY nom";
 
$result = mysql_query($query);
 
$result = mysql_query($query) or die (mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Choix du locataire</title>
</head>
 
<body>
<form action="testliste001.php" method="GET">
<p>Choisissez un nom : <select name="truc">
<?php
while($line = mysql_fetch_assoc($result)){
 
    echo '<option value="'.$line['idnoms'].'">'.$line['nom']."&nbsp;&nbsp;-&nbsp;&nbsp;" .$line['prenom'].'</option>';
    }
?>
</select>
</p>
<p><input type="submit" value="Voir les infos"  /></p>
</form>
</body>
</html>

Et le formulaire avec le tableau qui devrait afficher uniquement les données liées :

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
81
82
83
84
85
86
87
88
89
90
 
 
<style type="text/css">
.alindr 
{text-align: right;}
</style>
<?php
include("menu.php");
//reception de la variable
$id = isset($_GET['truc']) ? $_GET['truc'] : '';
//affichage de la variable pour vérifier qu'elle est reçue
    echo "<BR>$id<BR><BR>\n";
 
function display($string)
{
    echo htmlentities($string, ENT_QUOTES, 'ISO-8859-1');
}
 
include("include/variables.inc.php");
	$liendb  =  mysql_connect($bddserver,  $bddlogin,  $bddpassword);
mysql_select_db  ($bdd);
 
$sql = "SELECT DATE_FORMAT( datearrive, '%d/%m/%Y' ) AS datea, DATE_FORMAT( datearrive, '%Y' ) AS annee, DATE_FORMAT( datedepart, '%d/%m/%Y' ) AS dated, DATEDIFF(datedepart,datearrive ) AS datediff, dateloca.datearrive, dateloca.datedepart, dateloca.nombre, dateloca.prixlocation, dateloca.caution, (dateloca.prixlocation+dateloca.caution+dateloca.linge+dateloca.litbaby) as PT, (dateloca.1erpaiement+dateloca.2epaiement+dateloca.3epaiement) as Totalpaye, (dateloca.prixlocation+dateloca.caution+dateloca.linge+dateloca.litbaby-dateloca.1erpaiement-dateloca.2epaiement-dateloca.3epaiement) as Reste, (dateloca.1erpaiement+dateloca.2epaiement+dateloca.3epaiement-dateloca.caution) as Totalrevenu, dateloca.1erpaiement, DATE_FORMAT( date1erpaiement, '%d/%m/%Y' ) AS dateunp, dateloca.2epaiement, DATE_FORMAT( date2epaiement, '%d/%m/%Y' ) AS datedeuxp, dateloca.3epaiement, DATE_FORMAT( date3epaiement, '%d/%m/%Y' ) AS datetroisp, dateloca.linge, dateloca.litbaby, dateloca.degatspayes, dateloca.nonpaye, dateloca.remarques, dateloca.restitution, DATE_FORMAT( datelettre, '%d/%m/%Y' ) AS datel, dateloca.appart, dateloca.envoitarifs, dateloca.envoidescriptif, dateloca.paragraphesup, dateloca.confirmation, dateloca.enfants, locataires.nom, locataires.prenom, locataires.idnoms
				FROM dateloca
INNER JOIN locataires ON  dateloca.idnoms = locataires.idnoms
				WHERE locataires.reserve = 'oui' AND dateloca.annul =2 AND dateloca.prixlocation >0
				ORDER BY locataires.nom, datearrive desc;";
 
$result = mysql_query($sql);
 
if($result)
{
?>
    <table border="1">
        <tr>
            <th>id</th>
            <th>Arrivée</th>
            <th>Départ</th>
	    <th>Nb. jours</th>
	    <th>Nom et prénom</th>
            <th>Prix Location</th>
            <th>Caution</th>
            <th>Lit bébé</th>
            <th>Linge</th>
            <th>Prix Total</th>																		
	    <th>Somme payée</th>
            <th>Reste à payer</th>
	    <th>Degâts payés</th>
	    <th>Non payé</th>
	    <th>Revenu</th>
	    <th>Caution restituée</th>
	</tr>
<?php
        while($dateloca = mysql_fetch_assoc($result))
{
?>
            <tr>
                <td><?php display($dateloca['idnoms']); ?></td>
                <td><?php display($dateloca['datea']); ?></td>
                <td><?php display($dateloca['dated']); ?></td>								
                <td><div class="alindr"><?php display($dateloca['datediff']); ?></div></td>								
                <td><?php display($dateloca['nom'] . ' - ' .  $dateloca['prenom']); ?></td>
                <td><div class="alindr"><?php display($dateloca['prixlocation']); ?></div></td>
                <td><div class="alindr"><?php display($dateloca['caution']); ?></div></td>
                <td><div class="alindr"><?php display($dateloca['litbaby']); ?></div></td>
                <td><div class="alindr"><?php display($dateloca['linge']); ?></div></td>																								
                <td><div class="alindr"><?php display($dateloca['PT']); ?></div></td>
                <td><div class="alindr"><?php display($dateloca['Totalpaye']); ?></div></td>
                <td><div class="alindr"><?php display($dateloca['Reste']); ?></div></td>																																								
                <td><div class="alindr"><?php display($dateloca['degatspayes']); ?></div></td>
                <td><div class="alindr"><?php display($dateloca['nonpaye']); ?></div></td>
                <td><div class="alindr"><?php 
								if ($dateloca['restitution'] == 'non') 0; else
								display($dateloca['Totalrevenu']); ?></div></td>								
                <td><div class="alindr"><?php display($dateloca['restitution']); ?></div></td>								
 
<?php
 
}
?>
 
    </table>
<br />
<br />
<br />
<br />
<?php
}
mysql_close($liendb);
?>
D'avance merci pour votre aide