par
Flowkh » 18 oct. 2016, 19:09
Bonsoir,
Je souhaite faire un système de vente qui sélectionne plusieurs résultats parmi les sélectionnés de la commande MySQL, suivant la quantité choisie par le client.
Je n'arrive pas à avoir plusieurs résultats différents pour $cle car celui-ci est toujours remplacé par le dernier while, normal..
$request = $db->prepare('SELECT * FROM keys WHERE vendue = 0 LIMIT :nbClef');
$updateVendue = $db->prepare('UPDATE keys SET vendue = 1, transaction_id = :transaction WHERE cle = :clef');
$request->bindValue(':nbClef', $Offres['nb_cles'], PDO::PARAM_INT);
$request->execute();
while ($data = $request->fetch(PDO::FETCH_ASSOC)) {
$updateVendue->bindValue(':transaction', $transactionID, PDO::PARAM_INT);
$updateVendue->bindValue(':clef', $data['cle'], PDO::PARAM_INT);
$updateVendue->execute();<br>$cle = ''.$k['cle'].' - '.$k['nom'].'<br>'<br>}
J'ai essayé comme cela, non fonctionnel :
while ($data = $request->fetch(PDO::FETCH_ASSOC)) {
$updateVendue->bindValue(':transaction', $transactionID, PDO::PARAM_INT);
$updateVendue->bindValue(':clef', $data['cle'], PDO::PARAM_INT);
$updateVendue->execute();
for($cle=1; $cle <= $Offres['nb_cles']; $cle++) {
$cle = '• '.$k['cle'].' ('.$k['nom'].')';
}
}
$_SESSION['Cle1'] = $cle; // CLE1, communiquée par le 1er while
$_SESSION['Cle2'] = $cle; // CLE2, communiquée par le 2eme while
$_SESSION['Cle3'] = $cle; // CLE3, communiquée par le 3eme while
$_SESSION['Cle4'] = $cle; // CLEX, communiquée par le Xer while
// Etc...
// Plusieurs $messageX car plusieurs parties composées suivant des IF.
mail($email, $subject, $message1.$message2.$cle.$message4, $headers);
En gros, pour ceux qui n'ont pas compris :
Un while se fait.
Chaque while donne un résultat différent.
Je souhaite récupérer les données de chaque while, mais actuellement, chaque while écrasent le précédent, donc seul le dernier est en vie et m'est affiché.
Je vous remercie !
Bonsoir,
Je souhaite faire un système de vente qui sélectionne plusieurs résultats parmi les sélectionnés de la commande MySQL, suivant la quantité choisie par le client.
Je n'arrive pas à avoir plusieurs résultats différents pour $cle car celui-ci est toujours remplacé par le dernier while, normal..
[php]$request = $db->prepare('SELECT * FROM keys WHERE vendue = 0 LIMIT :nbClef');
$updateVendue = $db->prepare('UPDATE keys SET vendue = 1, transaction_id = :transaction WHERE cle = :clef');
$request->bindValue(':nbClef', $Offres['nb_cles'], PDO::PARAM_INT);
$request->execute();
while ($data = $request->fetch(PDO::FETCH_ASSOC)) {
$updateVendue->bindValue(':transaction', $transactionID, PDO::PARAM_INT);
$updateVendue->bindValue(':clef', $data['cle'], PDO::PARAM_INT);
$updateVendue->execute();<br>$cle = ''.$k['cle'].' - '.$k['nom'].'<br>'<br>}[/php]
J'ai essayé comme cela, non fonctionnel :
[php]while ($data = $request->fetch(PDO::FETCH_ASSOC)) {
$updateVendue->bindValue(':transaction', $transactionID, PDO::PARAM_INT);
$updateVendue->bindValue(':clef', $data['cle'], PDO::PARAM_INT);
$updateVendue->execute();
for($cle=1; $cle <= $Offres['nb_cles']; $cle++) {
$cle = '• '.$k['cle'].' ('.$k['nom'].')';
}
}
$_SESSION['Cle1'] = $cle; // CLE1, communiquée par le 1er while
$_SESSION['Cle2'] = $cle; // CLE2, communiquée par le 2eme while
$_SESSION['Cle3'] = $cle; // CLE3, communiquée par le 3eme while
$_SESSION['Cle4'] = $cle; // CLEX, communiquée par le Xer while
// Etc...
// Plusieurs $messageX car plusieurs parties composées suivant des IF.
mail($email, $subject, $message1.$message2.$cle.$message4, $headers);[/php]
[b][u][size=150]En gros, pour ceux qui n'ont pas compris :[/size][/u]
Un while se fait.
Chaque while donne un résultat différent.
Je souhaite récupérer les données de chaque while, mais actuellement, chaque while écrasent le précédent, donc seul le dernier est en vie et m'est affiché.[/b]
Je vous remercie !