Bonsoir, je suis en train de développer une application avec PHP, j'ai utilisé un CRUD pour charger les données de la base de données dans un formulaire qui affiche 4 champs de la table "personnel" (name, surname, grade, service ) mais on va mettre à jour seulement le champs service qui doit contenir une liste déroulante des différents services qui peuvent être associés à une personne, cette liste est chargé à partir d'une autre table appelée (servicelog), mon problème est que la liste des services ne s'affiche pas dans la liste déroulante du formulaire, ci-dessous est mon code source

le script affectation.php, qui se charge de charger les données de la base et l'afficher sous forme d'une table

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
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>
 
<body>
    <div class="container">
 
			<div class="row">
 
 
				<table class="table table-striped table-bordered">
		              <thead>
		                <tr>
		                  <th>Name</th>
		                  <th>surname</th>
		                  <th>grade</th>
		                  <th>Affectation</th>
		                </tr>
		              </thead>
		              <tbody>
		              <?php 
					   include 'database.php';
					   $pdo = Database::connect();
					   $sql = 'SELECT * FROM personnel ORDER BY id DESC';
	 				   foreach ($pdo->query($sql) as $row) {
						   		echo '<tr>';
							   	echo '<td>'. $row['name'] . '</td>';
							   	echo '<td>'. $row['surname'] . '</td>';
							   	echo '<td>'. $row['grade'] . '</td>';
							   	echo '<td width=250>';
 
							   	echo '<a class="btn btn-success" href="update.php?id='.$row['id'].'">Update</a>';
							   	echo '&nbsp;';
 
							   	echo '</tr>';
					   }
					   Database::disconnect();
					  ?>
				      </tbody>
	            </table>
    	</div>
    </div> <!-- /container -->
  </body>
</html>

le script responsable de la mise à jour du champs service : update.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
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php 
 
	require 'database.php';
 
	$id = null;
	if ( !empty($_GET['id'])) {
		$id = $_REQUEST['id'];
	}
 
	if ( null==$id ) {
		header("Location: affectation.php");
	}
 
	if ( !empty($_POST)) {
		// keep track validation errors
		$nameError = null;
		$surnameError = null;
		$gradeError = null;
 
		// keep track post values
		$name = $_POST['name'];
		$surname = $_POST['surname'];
		$grade = $_POST['grade'];
 
		// validate input
		$valid = true;
		if (empty($name)) {
			$nameError = 'Please enter Name';
			$valid = false;
		}
 
		if (empty($surname)) {
			$surnameError = 'Please enter surname';
			$valid = false;
		}
 
		if (empty($grade)) {
			$gradeError = 'Please enter grade';
			$valid = false;
		}
 
		// update data
		if ($valid) {
			$pdo = Database::connect();
			$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			$sql = "UPDATE personnel  set name = ?, surname = ?, grade = ?, servicelog = ?  WHERE id = ?";
			$q = $pdo->prepare($sql);
			$q->execute(array($name,$surname,$grade,$servicelog,$id));
			Database::disconnect();
			header("Location: affectation.php");
		}
	} else {
		$pdo = Database::connect();
		$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		$sql = "SELECT * FROM personnel where id = ?";
		$q = $pdo->prepare($sql);
		$q->execute(array($id));
		$data = $q->fetch(PDO::FETCH_ASSOC);
		$name = $data['name'];
		$surname = $data['surname'];
		$grade = $data['grade'];
		$servicelog = $data['servicelog'];
		Database::disconnect();
	}
?>
 
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>
 
<body>
    <div class="container">
 
    			<div class="span10 offset1">
 
 
	    			<form class="form-horizontal" action="update.php?id=<?php echo $id?>" method="post">
					  <div class="control-group <?php echo !empty($nameError)?'error':'';?>">
					    <label class="control-label">Name</label>
					    <div class="controls">
					      	<input readonly  name="name" type="text"  placeholder="Name" value="<?php echo !empty($name)?$name:'';?>">
					      	<?php if (!empty($nameError)): ?>
					      		<span class="help-inline"><?php echo $nameError;?></span>
					      	<?php endif; ?>
					    </div>
					  </div>
					  <div class="control-group <?php echo !empty($surnameError)?'error':'';?>">
					    <label class="control-label">Surname</label>
					    <div class="controls">
					      	<input readonly name="surname" type="text" placeholder="Surname" value="<?php echo !empty($surname)?$surname:'';?>">
					      	<?php if (!empty($surnameError)): ?>
					      		<span class="help-inline"><?php echo $surnameError;?></span>
					      	<?php endif;?>
					    </div>
					  </div>
					  <div class="control-group <?php echo !empty($gradeError)?'error':'';?>">
					    <label class="control-label">grade</label>
					    <div class="controls">
					      	<input readonly name="grade" type="text"  placeholder="grade" value="<?php echo !empty($grade)?$grade:'';?>">
					      	<?php if (!empty($gradeError)): ?>
					      		<span class="help-inline"><?php echo $gradeError;?></span>
					      	<?php endif;?>
					    </div>
					  </div>
 
 
					    <label class="control-label">Service</label>
					    <div >
				 <?php
										echo '<select  size=1 name="servicelog" id="servicelog">'."\n";
									echo '<option value="-1">--liste service --</option>'."\n";
										$result = mysql_query("SELECT servicelog FROM servicelog ORDER BY id DESC" );
										while($data =  mysql_fetch_array($result))
											{
												echo '<option value="'.$data[0].'">'.$data['servicelog'];
												echo '</option>'."\n";
											}
												echo '</select>'."\n";
 
						        ?>	
 
					    </div>
 
					  <div class="form-actions">
						  <button type="submit" class="btn btn-success">تعيين</button>
						  <a class="btn" href="affectation.php">رجوع</a>
						</div>
					</form>
				</div>
 
    </div> <!-- /container -->
  </body>
</html>
svp, j'ai besoin d'aide le plutôt possible, merci