Bonjour,
je tente désespérément de mettre à jour la table peel_stocks de la base artvarpeel à partir de la table produits_peel de la base artcreatif mais je dois avoir une erreur dans l'update bien que aucun code erreur sql n'apparaisse. c'est le point 7 qui ne marche pas, la dernière requête.
En vous remerciant par avance,
Larentia
je tente désespérément de mettre à jour la table peel_stocks de la base artvarpeel à partir de la table produits_peel de la base artcreatif mais je dois avoir une erreur dans l'update bien que aucun code erreur sql n'apparaisse. c'est le point 7 qui ne marche pas, la dernière requête.
<?php
// BASE 2
$host2 = "localhost";
$user2 = "LM";
$pass2 = "castellet";
//$bdd2 = "artcreatif"; // nom de la bdd où sont enregistrés les mouvements de stocks par reference (magasin physique)
//BASE ORIGINALE
$host1 = "localhost";
$user1 = "LM1";
$pass1 = "castellet";
//$bdd = "artvarpeel"; // nom de la BD où on a le total du stock par id (site internet qui vend certains articles du magasin)
$bdd1 = mysql_connect($host1,$user1,$pass1);
$bdd2 = mysql_connect($host2,$user2,$pass2);
//1-vidage table temporaire produits_peel sur artcreatif
mysql_query("TRUNCATE table artcreatif.produits_peel",$bdd2);
//2-selection des colonnes id-ref pour avoir la correspondance de la table artvarpeel-peel_produits
$res = mysql_query("SELECT peel_produits.reference, peel_produits.id, peel_produits.nom_fr
FROM artvarpeel.peel_produits",$bdd1)or die("<pre><b>MySQL Error:<b/>". mysql_error() ."</pre>");
while ($row = mysql_fetch_array($res))
{
// 3-copie des 3 colonnes de artvarpeel-peel_produits dans artcreatif-produits_peel
mysql_query("INSERT INTO artcreatif.produits_peel (id, reference, nom_fr)
VALUES ('".mysql_real_escape_string($row['id'])."','".mysql_real_escape_string($row['reference'])."','".mysql_real_escape_string($row['nom_fr'])."')",$bdd2)or die("<pre><b>MySQL Error:<b/>". mysql_error() ."</pre>");
}
echo"Copie effectuée";
//4-selection des qtes sorties de la table temporaire sortiecaisse (mouvements de stocks)
$res1 = mysql_query("SELECT sortiecaisse.reference, sortiecaisse.qtesortie
FROM artcreatif.sortiecaisse",$bdd2)or die("<pre><b>MySQL Error:<b/>". mysql_error() ."</pre>");
echo" - Sélection effectuée";
while ($row = mysql_fetch_array($res1))
{
// 5-MAJ des qtes sorties de artcreatif-produits_peel avec celles de sortiecaisse
mysql_query("UPDATE artcreatif.produits_peel
JOIN artcreatif.sortiecaisse ON produits_peel.reference = sortiecaisse.reference
SET produits_peel.qtesortie = sortiecaisse.qtesortie",$bdd2)or die("<pre><b>MySQL Error:<b/>". mysql_error() ."</pre>");
}
echo " - MAJ qtés sorties de produits_peel effectuée ";
//6-sélection des colonnes de produits-peel où il y a eu des sorties de stocks
$res2 = mysql_query("SELECT * FROM artcreatif.produits_peel WHERE qtesortie<>0",$bdd2)or die("<pre><b>MySQL Error:<b/>". mysql_error() ."</pre>");
echo" - Sélection produits-peel effectuée";
while ($row=mysql_fetch_array($res2)){
echo $row[reference] ;
echo '- ';
echo $row[qtesortie] ;
}
while ($row = mysql_fetch_array($res2))
{
//7-recalcul des qtes en stocks sur la table peel_stocks
mysql_query("UPDATE artvarpeel.peel_stocks, artcreatif.produits_peel
SET artvarpeel.peel_stock.stock = artvarpeel.peel_stock.stock-artcreatif.produits_peel.qtesortie
WHERE artvarpeel.peel_stocks.produit_id=artcreatif.produits_peel.id"
)or die("<pre><b>MySQL Error:<b/>". mysql_error() ."</pre>");
}
echo " - MAJ qtés sorties de produits_peel effectuée ";
?>
En vous remerciant par avance,
Larentia

