J'ai une BDD avec une ligne comportant des numéros de commande et une autre ligne m'informant de la validation de paiement de ces dites commandes.
(si "validation_reglt" = 0, le paiement n'est pas encore accepté, si "validation_reglt" = 1, le paiement est accepté).
Je souhaite mettre à jour les lignes de validation de paiement avec des checkbox via une interface PHP.
Le principe : Une page en PHP affiche seulement les lignes dont la valeur de "validation_reglt" = 0 et grâce à une checkbox, j'update la valeur de 0 à 1 pour valider le paiement.
Pour faite apparaître tous les numéros de commandes dont la valeur "validation_reglt" = 0, j'utilise la boucle suivante :
<?php
$req = $bdd->prepare('SELECT DISTINCT num_commande, validation_reglt FROM commandes WHERE validation_reglt = :validation_reglt');
$req->execute(array('validation_reglt'=>'0'));
while( $data = $req->fetch() )
{
echo "<tr>";
echo "<td width='160' align='left'>".$data['num_commande']."</td>";
echo "<td width='120' align='center'><input type=\"checkbox\" name=\"validation_reglt\" value=\"1\" /></td>";
echo "</tr>";
}
$req->closeCursor();
?>
Et pour UPDATER la valeur "validation_reglt", je me connecte à ma BDD et ensuite, j'utilise le code suivant :<?php
$validation_reglt = $_POST[validation_reglt];
if(!empty($_POST))
{
$req_update = $bdd->prepare('UPDATE commandes SET validation_reglt=:validation_reglt WHERE num_commande=:num_commande');
$req_update->execute(array(
'num_commande'=>$data['num_commande'],
'validation_reglt'=>$validation_reglt,
));
$req_update->closeCursor();
}
?>
Evidemment, ça ne fonctionne pas...Je me dis que dans cette seconde partie de code, il faudrait peut-être que j'utilise à nouveau la boucle WHILE, puisque je m'en sert pour afficher tous les N° de commande dont "validation_reglt" = 0.
Mais je ne sais vraiment pas comment m'y prendre...
Quelqu'un peut-il m'aider ???
Merci d'avance...