Je souhaiterai effectuer la mise a jour de ma table de donnée "user" et spécialement pour les grades des user. Jusque là j'arrive à update un à un le grade des user. Dès lors que je sélectionne plusieurs checkbox et affecte la valeur souhaitée via le select pour changer leur grade, seulement un seul user se voit affecter par la mise à jour. J'ai recherché depuis 2-3 jours sur Internet et exploité diverses pistes mais sans résultat
Voici mon code.
<?php
require_once('include/layout.php');
$query = $pdo->prepare
(
'SELECT * FROM user ORDER BY Pseudo'
);
$query->execute();
$users = $query->fetchAll(PDO::FETCH_ASSOC);
if(!empty($_SESSION['pseudo']) && $_SESSION['grade'] == "Admin"){
$grade = ['Péon','Membre','Officier','Admin'];
} else {
header('Location: index.php');
exit();
}
if (isset($_POST['check'])) {
if(isset($_POST['validate'])){
$check = intval($_POST['check']);
$grade_user = htmlspecialchars($_POST['select-grade']);
$update_grade = $pdo->prepare('UPDATE user SET Grade = ? WHERE Id = ?');
$update_grade->execute(array($grade_user, $check));
header('Location: admin.php');
exit();
}
}
?>
<main>
<form action ='admin.php' method='POST'>
<fieldset>
<legend>ADMINISTRATION MEMBRES DE GUILDE</legend>
<table class='table-admin'>
<tbody>
<thead>
<tr>
<th>Pseudo</th>
<th>Date création de compte</th>
<th>Grade</th>
<th></th>
</tr>
</thead>
<?php foreach ($users as $user) {?>
<tr>
<td><?= $user['Pseudo'] ?></td>
<td><?= $user['DateCreationCompte'] ?></td>
<td><?= $user['Grade'] ?></td>
<td><input type='checkbox' name="check" value="<?= $user['Id'] ?>"></td>
</tr>
<?php } ?>
</tbody>
</fieldset>
<select name="select-grade" class="select-admin">
<?php for($i = 0; $i <= 3; $i++) { ?>
<option value="<?= $grade[$i] ?>"><?= $grade[$i] ?></option>
<?php } ?>
</select>
</table>
<input type="submit" name="validate">
</form>
</main>