Einfache Packliste / Pickliste für Mobilgeräte

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);

 

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);

 

cool