Also ich hab folgendes Anliegen.
Ich hab einen Onlineshop worüber ich diverse Produkte verkaufe, diese Produkte bekomme ich vom Großhändler. Damit ich weiß ob die Produkte welche ich verkaufe noch beim Großhändler vorhanden sind, muss ich mein Lagerbestand mit einer CSV Datei vom Großhändler abgleichen.
Die CSV Dateien sehen zB. so aus
123456;100.88;120.88;1000;
158933;443.67;467.67;244;
198346;329.11;329.11;54;
( Artikel Nr;Einkaufspreis;Verkaufspreis;Lagerbestand; )
Da die CSV Dateien meist 10.000 und mehr Produkte beinhalten aber ich sagen wir mal nur ca. 300 davon verkaufe, möchte ich beim abgleichen meiner Shop Datenbank nur die aufgelistet bekommen die ich selber auch verkaufe.
Ich hab für diese zwecke ein update.php geschrieben die die CSV Datei vom Großhändler extern auslesen tut, in der update.php auflistet und mit meinem MySQL Server updatet.
So was ich gern umsetzen würde, ist ein script für diese update.php was die Artikelnummern aus meiner Produktdatenbank auslesen tut, diese mit den Artikelnummern in der CSV vergleicht und die Zeilen wo die Artikelnummern nicht übereinstimmen soll er bevor er sie laden tut löschen.
Hier mal der script der die CSV Datei auslesen und in die Datenbank schreibt.
Ich hab einen Onlineshop worüber ich diverse Produkte verkaufe, diese Produkte bekomme ich vom Großhändler. Damit ich weiß ob die Produkte welche ich verkaufe noch beim Großhändler vorhanden sind, muss ich mein Lagerbestand mit einer CSV Datei vom Großhändler abgleichen.
Die CSV Dateien sehen zB. so aus
123456;100.88;120.88;1000;
158933;443.67;467.67;244;
198346;329.11;329.11;54;
( Artikel Nr;Einkaufspreis;Verkaufspreis;Lagerbestand; )
Da die CSV Dateien meist 10.000 und mehr Produkte beinhalten aber ich sagen wir mal nur ca. 300 davon verkaufe, möchte ich beim abgleichen meiner Shop Datenbank nur die aufgelistet bekommen die ich selber auch verkaufe.
Ich hab für diese zwecke ein update.php geschrieben die die CSV Datei vom Großhändler extern auslesen tut, in der update.php auflistet und mit meinem MySQL Server updatet.
So was ich gern umsetzen würde, ist ein script für diese update.php was die Artikelnummern aus meiner Produktdatenbank auslesen tut, diese mit den Artikelnummern in der CSV vergleicht und die Zeilen wo die Artikelnummern nicht übereinstimmen soll er bevor er sie laden tut löschen.
Hier mal der script der die CSV Datei auslesen und in die Datenbank schreibt.
PHP-Code:
mysql_connect("localhost", "user", "passwort") or die(mysql_error());
mysql_select_db("datenbank") or die(mysql_error());
$row = 0;
PREFIX_product_attribute
$update_table = "ps_product";
$handle = fopen("update.csv", "r+");
while (($data = fgetcsv($handle, 100000, ";")) !== FALSE) {
{
if ($c = 1) {
$supplier_reference = $data[($c - 1)];
}
if ($c = 2) {
$wholesale_price = $data[($c - 1)];
mysql_query("UPDATE $update_table SET wholesale_price='$wholesale_price' WHERE supplier_reference='$supplier_reference'")
or die(mysql_error());
}
if ($c = 3) {
$price = $data[($c - 1)];
mysql_query("UPDATE $update_table SET price='$price' WHERE supplier_reference='$supplier_reference'")
or die(mysql_error());
}
if ($c = 4) {
$quantity = $data[($c - 1)];
mysql_query("UPDATE $update_table SET quantity='$quantity' WHERE supplier_reference='$supplier_reference'")
or die(mysql_error());
}
if ($c = 5) {
$active = $data[($c - 1)];
mysql_query("UPDATE $update_table SET active='$active' WHERE supplier_reference='$supplier_reference'")
or die(mysql_error());
}
}
}
Kommentar