Requete update SQL

dooki
Invité n'ayant pas de compte PHPfrance

02 févr. 2020, 16:45

Bonjour ,
est-il possible de faire une requête SQL automatique en PHP :

à chaque fois que l'utilisateur arrive sur la page avec son session ID dans la barre d'adresse,
effectuer une requête SQL qui update la disponibilité du produit :
Par exemple dans mon panier il y a 3 pommes et 1 poire, il faudrait enlever 3 disponibilité ou le nom du produit est pomme et seulement 1 pour la poire.

Un foreach serait pas mal je pense ?

Code : Tout sélectionner

public function deduirePanier(){ if ($_GET['id']= $_SESSION['id']){ $bdd = new PDO('mysql:host=localhost;dbname=site2019','root',''); $modifierQuantite = $bdd->query('UPDATE produits SET disponibilite = disponibilite--'); }
J'ai tenté ça mais c'est pas au top ..

dooki
Invité n'ayant pas de compte PHPfrance

03 févr. 2020, 00:19

Code : Tout sélectionner

<?php foreach($produito as $produit): ?> <tr> <td><?= $produit->nom; ?></td> <td><?= $produit->prix; ?></td> <td><?= ($_SESSION['panier'][$produit->id]) ?> </td> </tr> <?php endforeach;?>
Voici mon panier,
j'aimerais que chaque "$produit->nom;" soit enlever de la bdd (disponibilite)

Mammouth du PHP | 1967 Messages

03 févr. 2020, 09:14

C'est lors de l'ajout dans ton panier qu'il faut mettre à jour tes disponibilité pas à l'arrivée sur une page sinon tu va vite te retrouvé sans aucune disponnibilité.

Pense aussi au panier non finaliser qu'il faut reseter aprés un certain temps
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

dooki
Invité n'ayant pas de compte PHPfrance

03 févr. 2020, 13:38

C'est lors de l'ajout dans ton panier qu'il faut mettre à jour tes disponibilité pas à l'arrivée sur une page sinon tu va vite te retrouvé sans aucune disponnibilité.
Enfaite le client ajoute ses produits dans le panier et lorsqu'il a finit ses courses il appuie sur le bouton payer, et il arrive sur une page Facture qui valide son paiement ( c'est fictif ) et c'est à ce moment la que j'aimerais enlever la disponibilité des produits.

Pense aussi au panier non finaliser qu'il faut reseter aprés un certain temp
Il se remet a 0 lors de la deconnexion ( il est fait avec les var de Sessions )

Je me demande si il y a un moyen de faire :
Pour chaque ProduitsDansPanier
$requete= $bdd->("UPDATE produits SET disponibilite = disponibilite-- where $unproduitDansPanier->idProduit= id_produit");

(Peut on vraiment mettre un "disponibilite--" dans une req SQL ?)
( La requete semble t-elle faisable ? )

Mammouth du PHP | 1967 Messages

03 févr. 2020, 14:22

oui tu peux même tout faire en une requète pour autant qu'il n'y ai pas de quantité supérieure à 1

tu peux avoir accés au valeurs actuelles dans un update (voir un exemple avec l'outil rechercher/remplacer de phpmyadmin) du coup dir que disponnibilité est égale à disponibilité - 1 et dans ton where utilise un IN avec tous les id_produit concaténer avec ", "
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

dooki
Invité n'ayant pas de compte PHPfrance

03 févr. 2020, 14:50

Merci de ta réponse je vais voir ce que je peux faire avec ses informations :) !