Hallo Community,
bei der Versandvorbereitung hatte ich das Problem, dass ich nicht unnötig schmutziges Papier produzieren wollte (Packlisten pro Bestellung drucken) , also eine einfache Handygerechte Liste der offenen Bestellungen, jeweils mit den Artikelpositionen - und nach erfolgreicher Verpackung ein Feld zur Zwischenspeicherung des Paket Gewicht’s
die Bestellnummer wird auf dem Paket vermerkt und später mit dem (DHL) Paket Etikett versehen
folgendes Script einfach ins Rootverzeichnis, ev. Zugriffbeschränkung muss Serverseitig erfolgen
";
$result = mysqli_query($db, "SELECT * FROM `s_order` WHERE `status` = 0 LIMIT 50");
while($order = mysqli_fetch_array($result, MYSQL_ASSOC) )
{
$result_user = mysqli_query($db, "SELECT * FROM `s_order_shippingaddress` WHERE `orderID` = ".$order[id]);
$user = mysqli_fetch_array($result_user, MYSQL_ASSOC);
$result_country = mysqli_query($db, "SELECT * FROM `s_core_countries` WHERE `id` = ".$user[countryID]);
$country = mysqli_fetch_array($result_country, MYSQL_ASSOC);
print "";
print $order[ordernumber]." - ";
print $user[firstname]." ";
print $user[lastname]." - ";
print $user[city].", ";
print $country[countryiso]."";
print " ";
print "";
if ($order[cleared]=="17") print " O"; //Zahlung Offen
print "";
$result_orders = mysqli_query($db, "SELECT * FROM `s_order_details` WHERE `orderID` = ".$order[id]);
while($orders = mysqli_fetch_array($result_orders, MYSQL_ASSOC) )
{
print " • ".$orders[quantity]." x ";
print $orders[articleordernumber]." ";
print $orders[name]." ";
print "";
// echo ""; print_r($order); echo "";
}
print "";
}
print "
"; mysqli_close($db); ?>
Hoffe es ist für jemand nützlich …
LG. aus Österrecih
Erich
Hallo Erich,
die Datenbanktabelle “s_user_shippingaddress”, aus der Du die Lieferanschrift zur aktuellen Bestellung holst, könnte mehrere Einträge pro Kunde ("=userID)" haben.
Falls ein Kunde 2 Bestellungen mit unterschiedlichen Lieferanschriften vorgenommen hat (beliebiger Zeitraum), könnte die Falsche ausgegeben werden.
Du kannst bei dem Query der Tabelle s_user_shippingaddress zusätzlich nach _ orderID _ filtern, um das auszuschließen.
Viele Grüße,
Martin
Danke für den Hinweis !
habe es jetzt auf s_order_shippingaddress umgestellt und auch über die orderID referenzeirt
überarbeitete Version für Shopware 5.6 auf PHP 7.x
";
$result = mysqli_query($db, "SELECT * FROM `s_order` WHERE `status` = 0 LIMIT 50");
while( $order = mysqli_fetch_array($result) )
{
$result_user = mysqli_query($db, "SELECT * FROM `s_order_shippingaddress` WHERE `orderID` = ".$order['id']);
$user = mysqli_fetch_array($result_user);
$result_country = mysqli_query($db, "SELECT * FROM `s_core_countries` WHERE `id` = ".$user['countryID']);
$country = mysqli_fetch_array($result_country);
print "";
print $order['ordernumber']." - ";
print $user['firstname']." ";
print $user['lastname']." - ";
print $user['city'].", ";
print $country['countryiso']."";
print " ";
print "";
if ($order['cleared']=="17") print " O "; //Zahlung Offen
$result_magna = mysqli_query($db, "SELECT * FROM `magnalister_orders` WHERE `current_orders_id` = ".$order['id']);
$magna = mysqli_fetch_array($result_magna);
if ($magna['platform']) print " ".strtoupper(substr($magna['platform'],0,1))." "; //Platform Import
print "";
$result_orders = mysqli_query($db, "SELECT * FROM `s_order_details` WHERE `orderID` = ".$order['id']);
while($orders = mysqli_fetch_array($result_orders) )
{
print " • ".$orders['quantity']." x ";
print $orders['articleordernumber']." ";
print $orders['name']." ";
print "";
// echo ""; print_r($magna); echo "";
}
print "";
}
print "
"; mysqli_close($db);
Mossi
14. August 2019 um 15:52
5
Hallo Herr Fuchs,
ich habe mir erlaubt das Script etwas zu erweitern, so dass der Ebay-Name noch mit angezeigt wird.
";
$result = mysqli_query($db, "SELECT * FROM `s_order` WHERE `status` = 0 LIMIT 50");
while( $order = mysqli_fetch_array($result) )
{
$result_user = mysqli_query($db, "SELECT * FROM `s_order_shippingaddress` WHERE `orderID` = ".$order['id']);
$user = mysqli_fetch_array($result_user);
$result_country = mysqli_query($db, "SELECT * FROM `s_core_countries` WHERE `id` = ".$user['countryID']);
$country = mysqli_fetch_array($result_country);
print "";
print $order['ordernumber']." - ";
print $user['firstname']." ";
print $user['lastname']." - ";
print $user['city'].", ";
print $country['countryiso']."";
print " ";
print "";
if ($order['cleared']=="17") print " O "; //Zahlung Offen
$result_ebayname = mysqli_query($db, "SELECT * FROM `s_order` WHERE `id` = ".$order['id']);
$ebayname = mysqli_fetch_array($result_ebayname);
if ($ebayname['internalcomment']) print " ".substr($ebayname['internalcomment'],102,20)." ";
//Ebayname Import
$result_magna = mysqli_query($db, "SELECT * FROM `magnalister_orders` WHERE `current_orders_id` = ".$order['id']);
$magna = mysqli_fetch_array($result_magna);
if ($magna['platform']) print " ".strtoupper(substr($magna['platform'],0,1))." "; //Platform Import
print "";
$result_orders = mysqli_query($db, "SELECT * FROM `s_order_details` WHERE `orderID` = ".$order['id']);
while($orders = mysqli_fetch_array($result_orders) )
{
print " • ".$orders['quantity']." x ";
print $orders['articleordernumber']." ";
print $orders['name']." ";
print "";
// echo ""; print_r($magna); echo "";
}
print "";
}
print "
"; mysqli_close($db);