Salut!!
est ce que quelqu'un peut me dire commment on peut faire pour calculer une somme et le stock de plusieur produit en php pdo!!?

9 réponses


Peut tu donner plus de détail, travaille tu en bdd ?, si oui donne nous le mld des tes tables (description des champs de chaque table) etc...

oui je travail en bdd, et dans mon projet il y a un mouvement de sortie et d'entrée de nombreuses matériel donc il faut faire des mouvements des stocks des entrés et des sorties de ces matériels et je sais pas comment faire!!

Donne nous ton MLD de tes bases :
exemple :

  • table1 (champ1, ... , ... )
  • table2 (champ2, ... , ... )
  • ...

Comme ça on pourra voir par rapport a tes données comment modifier le stock

Materiel (NumMateriel, NomMateriel, EtatMateriel, PU);
Bon d'entrée (Num_BE, Materiel, Quantité, PU, DetenteurMateriel);
Bon de Sortie (Num_BS, Materiel, Quantité, PU, DetenteurMateriel);
Entrée (Num_Entree, Materiel, DetenteurMateriel, Stock_Entree);
Sortie (Num_Sortie, Materiel, DetenteurMateriel, Stock_Sortie);
Envoye (NomEnvoyeur, Materiel, Quantité, PU);
Renvoye (NomRenvoyeur, Materiel, Quantité, PU);
Besoin (Materiel, Quantité)
Voila les Tables!!

Pour moi il manque un champ Quantité dans Matériel, dans lequel tu stocke la quantité du matériel puis en fonction des commandes/entrées tu la modifie, exemple pour une commande tu vérifie d'abord la quantité restante du produit et s'il en reste assez alors tu peux faire la commande puis tu modifie la quantité par rapport a ce qu'il a acheté et pour une entrée tu ajoute la quantité entrante sur la quantité précédente

ah ok merci!! et comment puis je faire le calcule donc!!?

Déja on modifie la table Materiel par : Materiel (NumMateriel, NomMateriel, EtatMateriel, PU,Stock) ou Stock représente la quantité du matériel en stock

<pre class="language-php"><code>
$connec = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', ''); //connexion bdd

//pour une entrée
$materiel = $connexion->exec("SELECT Materiel From Bon d'entrée Where"); //on récupère le materiel que souhaite la personne
$quantite = $connexion->exec("SELECT Materiel From Bon d'entrée Where"); //on récupère la quantite du materiel que souhaite la personne

//pour une sortie
$materiel = $connexion->exec("SELECT Materiel From Bon de Sortie Where"); //on récupère le materiel que souhaite la personne
$quantite = $connexion->exec("SELECT Materiel From Bon de Sortie Where"); //on récupère la quantite du materiel que souhaite la personne

</code></pre>

Au passage fait attention au nommage de tes bases, évite les accents,espaces et caractères spéciaux car ça ne marchera pas sinon

<pre class="language-php"><code>

$stock_actuel = $connec->exec("SELECT Stock From Materiel Where NumMateriel = '$materiel'"); // on récupère le stock actuel du matériel

//pour une entrée
$stock_final = $stock_actuel + $quantite;
$connec->exec("UPDATE Materiel SET Stock='$stock_final'' WHERE Materiel = '$materiel'");

//pour une sortie
if($stock_actuel >= $quantite) // on verifie si le stock est suffisant par rapport à la demande
{
//commande possible
$stock_final = $stock_actuel - $quantite;
$connec->exec("UPDATE Materiel SET Stock='$stock_final'' WHERE Materiel = '$materiel'");
}
else
{
//commande impossible
echo"Pas assez de stock !";
}

</code></pre>

merci pour ta réponse, mais j'ai encore un petit soucis donc, dans la table entrée sa doit être le materiel livré et le materiel renvoié qui doit constitué le stock pour, et je sait pas comment combiner l'achat et le renvoie pour que les stocks matériels soit équilibré ainsi!!?

Intéresse toi aux triggers pour ça.