Bonjour à tous,

Je vous donne mon exemple:
J'ai créé des agences qui gèrent des maisons de vacances.

J'ai donc un formulaire qui affiche par agence, toutes les maisons disponibles et il faut cocher celles qui doivent être gérées ou non par cette agence.
Jusque là pas de problème pour moi puisque l'on part du principe qu'aucune maison n'est cochée au début.

Voici où cela se corse:
Lorsque l'on retourne dans le formulaire pour mettre à jour les gestions de maisons, je n'arrive pas à afficher celles qui sont déjà gérée par l'agence.

Pouvez-vous m'aider svp

Voici mon script:
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
include ("connexion.php");
 $id_agency = $_GET['link_id'];
 
//Affichage données agence
$stmtAgency = $connexion->prepare("SELECT * FROM agency WHERE id = :id");
$stmtAgency->BindParam(":id",$id_agency);
$stmtAgency->execute();
$dspAgency = $stmtAgency->fetch(PDO::FETCH_OBJ);
 
//affichage contenu maisons
$stmtHouse = $connexion->prepare("SELECT * FROM houses");
$stmtHouse->execute();
 
//affichage maison liées
$stmtLinked = $connexion->prepare("SELECT * FROM houses_linked WHERE id_agency = :id ");
$stmtLinked->BindParam(":id",$id_agency);
$stmtLinked->execute();
 
 
 
if(isset($_POST['edit']))
{
 
 
   $checkbox = $_POST['name'];
 
	for ($i=0; $i<sizeof($checkbox);$i++) {
    $stmtInsert = $connexion->prepare("INSERT INTO houses_linked (id_agency, id_house) VALUE (:id_agency, '".$checkbox[$i]."') ");
	$stmtInsert->BindParam(":id_agency",$id_agency);
	//$stmtInsert->BindParam(":id_house",$checkbox[$i]);
	$stmtInsert->execute();
	}
    header("Location:linkhouse.php?ok&id=0");
 
 
 
}
 
 
 
 
?>
 
 
<!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=utf-8" />
<title>Untitled Document</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
 
<body>
<div class="container">
  <div class="jumbotron">
    <h1>Lier une maison</h1>
    <p>Complétez les champs ci-dessous selon les critères définis.
    </p>
  </div>
 
  <p>
  Agence : <?php echo $dspAgency->name; ?>
  </p>
		  				<?php
                        if(isset($error))
                        {
                            foreach($error as $error)
                            {
                            ?>
                            <div class="alert alert-danger alert-dismissable" >
                            <a href="edit.php?false" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                            <i class="glyphicon glyphicon-warning-sign"></i> &nbsp; <?php echo $error; ?> !
                            </div>
 
                        <?php }
                        }
 
                        else if(isset($_GET['ok']))
                        {
 
						?>
                        <div class="alert alert-success" id="success">
                                <i class="glyphicon glyphicon-log-in"></i> &nbsp; Modification effectuée ! &nbsp;<a href="index.php">Retour</a>
                            </div>
 
						<?php } ?>
 
 
               <form class="form-horizontal" method="post">
 
                <?php while( $dspHouse = $stmtHouse->fetch(PDO::FETCH_OBJ) ) {
					?>
                <div class="form-group">
                  <label class="control-label col-sm-2" for="name"><?php echo $dspHouse->name;?>:</label>
                  <div class="col-sm-10">
                    <input type="checkbox" class="form-control" name="name[]"  value="<?php echo $dspHouse->id;?>">
                    </div>
                  </div>
                <?php }
				?>
 
                <div class="form-group">
                  <div class="col-sm-offset-2 col-sm-10">
                    <button type="submit" class="btn btn-default" id="edit" name="edit">Envoyer</button>
                    &nbsp;<a href="index.php">Annuler</a>
                  </div>
                </div>
 
 
 
              </form> 
</div>
 
</body>
</html>

sachant que le contenu de ma table houses_linked est composé comme suit:
id_agency id_house
1 1
1 2
3 1
3 2
3 3




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
//affichage maison liées
$stmtLinked = $connexion->prepare("SELECT * FROM houses_linked WHERE id_agency = :id ");
$stmtLinked->BindParam(":id",$id_agency);
$stmtLinked->execute();
est la requête qui récupère les maisons gérées par agence et retourne des nombres 1, 2, 3....


et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<input type="checkbox" class="form-control" name="name[]"  value="<?php echo $dspHouse->id;?>">
devrait afficher l'attribut checked="checked" selon le résultat de la requète $stmtLinked

Sauf que je ne vois pas comment intégrer cette requête