Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Import: Stock addieren nicht ersetzen

    Q

    • Fördermitglied
    • Beiträge: 1.537
    Import: Stock addieren nicht ersetzen
    am: 21. Oktober 2017, 22:59:49
    Guten Abend,

    ich versuche gerade dem Import-Tool zu erklären, dass ich den Wert in p_stock nicht als neuen product_quantity haben will, sondern dass die Anzahl dazu gerechnet werden soll.

    Dazu habe ich in der /admin/classes/import.php folgenden Code eingefügt (aus der xtc_get_products_stock.inc.php):

    Code: PHP  [Auswählen]
      function xtc_get_products_stock($products_id) {
        $products_id = xtc_get_prid($products_id);
        $stock_query = xtc_db_query("SELECT products_quantity
                                    FROM "
    . TABLE_PRODUCTS . "
                                   WHERE products_id = '"
    . (int)$products_id . "'");
        $stock_values = xtc_db_fetch_array($stock_query);
       
        return $stock_values['products_quantity'];

    Dann habe ich verschiedene Varianten versucht den $stock_values['products_quantity'] mit $dataArray['p_stock'] zu addieren.

    z.B.:
    Code: PHP  [Auswählen]
        $dataArray['p_stock'] = $dataArray['p_stock'] +  $stock_values['products_quantity'];

    oder
    Code: PHP  [Auswählen]
        $newStock = $dataArray['p_stock'] +  $stock_values['products_quantity'];
    zusammen mit
    Code: PHP  [Auswählen]
        function insertProduct(& $dataArray, $mode = 'insert',$touchCat = false) {

            //BOC strip potential slashes and type cast inputs
            $products_array = array ('products_model' => xtc_db_prepare_input($dataArray['p_model']));
            if ($this->FileSheme['p_stock'] == 'Y')
                $products_array = array_merge($products_array, array ('products_quantity' => (int)$newStock));

    Aber entweder es kommt 0 oder der Wert von p_stock als neuer Stock an.

    Kann ich die beiden Wert überhaupt addieren? Oder habe ich da einen Denkfehler an anderer Stelle?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=38135.0

    Q

    • Fördermitglied
    • Beiträge: 1.537
    Re: Import: Stock addieren nicht ersetzen
    Antwort #1 am: 21. Oktober 2017, 23:40:02
    Mist. Die ganze Funktion war falsch und eigentlich total überflüssig. Habs jetzt wie folgt gelöst:

    Code: PHP  [Auswählen]
        function insertProduct(& $dataArray, $mode = 'insert',$touchCat = false) {

            //BOC strip potential slashes and type cast inputs
            $products_array = array ('products_model' => xtc_db_prepare_input($dataArray['p_model']));
            if ($this->FileSheme['p_stock'] == 'Y')
                        $qty_query = xtc_db_query("SELECT products_quantity
                                              FROM "
    .TABLE_PRODUCTS."
                                             WHERE products_model = '"
    .xtc_db_input($dataArray['p_model'])."'
                                         "
    );
                $qty_data = xtc_db_fetch_array($qty_query);
                $products_quantity = $qty_data['products_quantity'] + $dataArray['p_stock'];                          
                $products_array = array_merge($products_array, array ('products_quantity' => (int)$products_quantity));
    6 Antworten
    3301 Aufrufe
    20. Juli 2010, 06:33:10 von ag2888
    1 Antworten
    751 Aufrufe
    09. Juni 2020, 14:09:17 von DokuMan
    1 Antworten
    2189 Aufrufe
    05. Januar 2015, 05:03:01 von Guenter59
    7 Antworten
    4951 Aufrufe
    12. Juni 2014, 15:10:07 von recki
               
    anything