Jump to content

Mise à jour stock à partir d'un CSV


Recommended Posts

Bonjour ,

 

aujourd'hui j'utilise le code suivant pour mettre un jour mon stock à partir d'un fichier csv :

 

Get the csv file - INSERT THE ADDRESS OF CSV FILE OR UPLOAD IT TO THE SOME FOLDER OF THIS SCRIPT
$handle = fopen("xxxx.csv", "r");

while (($data = fgetcsv($handle, 100000, ";")) !== FALSE) {
$num = count($data);
echo "n";
echo "( $row )n";
$row++;
for ($c=0; $c < $num; $c++) {
	if ($c = 1) {
	$reference = $data[($c - 1)];
	echo $reference . " - Reference Assignedn";
	}
	if ($c = 2) {
	$quantity = $data[($c - 1)];
	mysql_query("UPDATE $update_table SET quantity='$quantity' WHERE reference='$reference'")
	or die(mysql_error());
	echo $quantity . " - Quantity updatedn";
   echo "_____________________________________________________n";
	}


}

 

Cela fonctionne correctement cependant je souhaiterai apporter une amélioration.

Le stock est mis à jour en se basant sur le champ "reference" cependant je souhaiterai que quand il ne trouve pas la reference il mette le stock a zéro !

 

Est ce possible ?

Link to comment
Share on other sites

Bonjour.

 

Je n'ai pas vraiment la réponse à votre question, mais j'ai du mal à voir comment votre code peut fonctionner !!

 

if ($c = 1) {
if ($c = 2) {

 

Il devrait y avoir 2 "=" non ?

 

De même, pourquoi faire "$c - 1" quand vous initialiser votre variable $c à 0 ?

 

Serait-il possible d'avoir le nom des colonnes du fichier CSV et dans l'ordre.

 

Pour quand même tenter de répondre : faire une vérification de $reference ?

 

D'après ce que je comprends, $reference sera toujours assigné avant l'update. Donc, avant de faire votre requête UPDATE, il suffit de dire :

 

if (!empty($reference))
// update normalement
else
// update a zero

Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...