je me casse les dents depuis quelques jours sur un truc qui me parait pourtant pas infaisable(mais j'avoue que je pratique depuis peu de temps).
j'ai créé une page qui permet à mes clients de laisser une évaluation sur les produits qu'ils m'ont acheter stocker dans une table préparation_commande.
cette page affiche donc les produit les uns sous les autre avec un while et des boutons radios permettent de mettre une note à chaque produits.
je cherche donc comment annoncer à ma requete sql toutes les notes atribuer et les updater au champ note_marchandise du produit nom_marchandise ayant le meme n° de ref_liste_commande
le resultat devrais ressemble à ça :
boucle
nom_marchandise'x' de ref_liste_commande'y' =>note_marchandise 0 a 5 par bouton radio nommé ref_marchandise'p'
nom_marchandise'o' de ref_liste_commande'y' =>note_marchandise 0 a 5 par bouton radio nommé ref_marchandise't'
nom_marchandise'r' de ref_liste_commande'y' =>note_marchandise 0 a 5 par bouton radio nommé ref_marchandise'u'
fin boucle
si le client coche les bouton radio et clique sur validé
boucle
updater note_marchandise nommé ref_marchandise'p' du produit nom_marchandise'x' de la liste ref_liste commande'y'
updater note_marchandise nommé ref_marchandise't' du produit nom_marchandise'o' de la liste ref_liste commande'y'
updater note_marchandise nommé ref_marchandise'u' du produit nom_marchandise'r' de la liste ref_liste commande'y'
fin de boucle
voila pour le principe,
maintenant.....le code !
<?php
$req = $bdd->prepare('SELECT * FROM preparation_commande WHERE ref_liste_commande=:ref_liste_commande' );
$req->execute(array('ref_liste_commande' => $ref_liste_commande));
while ($data = $req->fetch()):
?>
<form action="evaluation.php" method="POST" name="formulaire">
<?php
echo $data['nom_marchandise'];
?>
<input type="radio" name="note_prod<?php echo $data['ref_marchandise']?>" value="0">
<input type="radio" name="note_prod<?php echo $data['ref_marchandise']?>" value="1">
<input type="radio" name="note_prod<?php echo $data['ref_marchandise']?>" value="2">
<input type="radio" name="note_prod<?php echo $data['ref_marchandise']?>" value="3">
<input type="radio" name="note_prod<?php echo $data['ref_marchandise']?>" value="4">
<input type="radio" name="note_prod<?php echo $data['ref_marchandise']?>" value="5">
<?php endwhile;
if(!empty($_POST))
{
$note = 'note_prod'.$data['ref_marchandise'];
extract($_POST);
{
$req = $bdd->prepare('UPDATE preparation_commande SET note_marchandise=:note_marchandise WHERE ref_marchandise=:ref_marchandise');
$req->execute(array(
'note_marchandise'=>$note,
'ref_marchandise'=>$data['ref_marchandise']
));
$req->closeCursor();
}
}
?>
évidemment, ma requête sql est nase et c'est la le problème : je ne sais pas comment écrire ma requête !!je ne sait pas si on peut mettre une requête dans une boucle et si oui comment faire ?
je suis donc à la recherche d'une âme charitable qui saurra m'expliquer comment faire...
merci par avance à tous !