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: neue Artikelbilder werden bei alten Produktbildern angezeigt

    Alexlaiho1980

    • Fördermitglied
    • Beiträge: 52
    • Geschlecht:
    phpMyAdmin

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    KlickiBuntiTools sind hübsch und haben durchaus ihre Vorteile. Man lernt allerdings mehr, wenn man sich auf die Basics konzentriert.

    Wenn Du die Befehle im Handbuch ansiehst, wirst Du verstehen, warum irgendwelche Klicks nichts verändern, wenn Du die Datenbank nach der größten products_id fragst.

    Code: SQL  [Auswählen]
    SHOW COLUMNS FROM products

    Dieser SQL-Befehl sagt Dir, welche Extras für Deine Tabelle notiert sind, unter anderem eben auch, ob ein auto_increment eingestellt ist.

    z.B:

    Code: SQL  [Auswählen]
    +------------------------------+---------------+------+-----+---------+----------------+
    | FIELD                        | TYPE          | NULL | KEY | DEFAULT | Extra          |
    +------------------------------+---------------+------+-----+---------+----------------+
    | products_id                  | INT(11)       | NO   | PRI | NULL    | AUTO_INCREMENT |
    | products_ean                 | VARCHAR(128)  | YES  |     | NULL    |                |

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    Einfach in phpMyAdmin die Tabelle auswählen und dann auf "Struktur" klicken um zu sehen ob ein AUTO_INCREMENT vorhanden ist und wo.
    Ein unbedarfter User muß ja nun nicht gleich die Feiheiten von SQL lernen.

    Gruß,
    noRiddle

    Alexlaiho1980

    • Fördermitglied
    • Beiträge: 52
    • Geschlecht:
    SHOW COLUMNS FROM products

    Extra: auto_increment (klein geschrieben)

    Unter Struktur Extra: AUTO_INCREMENT

    Alexlaiho1980

    • Fördermitglied
    • Beiträge: 52
    • Geschlecht:
    Auch ein Löschen des neuen Artikels (mit Cache leeren) hat leider nichts gebracht

    Ich find leider nirgendes den Befehl, für das ändern der max products_id in mysql. Vielleicht würde das ja schon das Problem beheben?!

    Wäre nett wenn mir jemand helfen könnte ;)

    Alexlaiho1980

    • Fördermitglied
    • Beiträge: 52
    • Geschlecht:
    Leider habe ich immer noch keine Lösung. :’-(

    So siehts in meiner Datenbank aus:

    FIELD                        | TYPE          | NULL | KEY | DEFAULT | Extra          |
    +------------------------------+---------------+------+-----+---------+----------------+
    | products_id                  | INT(11)       | NO   | PRI | NULL    | AUTO_INCREMENT |

    bei                                 TYPE             Kollation                     Null    Standard
    products_model               varchar(64)    latin1_general_ci       Ja    NULL

    Ich habe die Funktion der fortlaufenden Artikelnummer bei includes/modules/new_products.php rausgenommen, leider wird die Artikelnummer weitergezählt.
    Beim Anlegen eines neuen Produkts mit manueller Artikelnummer wird diese auch nicht in die Datenbank (wie meine letzten 200 Artikel) nicht übernommen.

    Der letzte Artikel ist mit der Product_id 8929 hinterlegt und bei der Abfrage der max product_id 8930.

    Kann mir jemand sagen WO und WIE ich die Anzahl der max product_id erhöhen kann? Googeln und sonstige suche hat leider kein Ergebniss gebracht

    so sieht meine new_products.php aus

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: new_products.php 1571 2010-12-10 12:38:05Z dokuman $

       modified eCommerce Shopsoftware - community made shopping
       http://www.modified eCommerce Shopsoftware.org

       Copyright (c) 2010 modified eCommerce Shopsoftware
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(new_products.php,v 1.33 2003/02/12); www.oscommerce.com
       (c) 2003   nextcommerce (new_products.php,v 1.9 2003/08/17); www.nextcommerce.org
       (c) 2006 xt:Commerce (new_products.php 1292 2005-10-07); www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))

       Released under the GNU General Public License
       -----------------------------------------------------------------------------------------
       Third Party contributions:
       Enable_Disable_Categories 1.3                Autor: Mikel Williams | mikel@ladykatcostumes.com

       Released under the GNU General Public License
       ---------------------------------------------------------------------------------------*/


    $module_smarty = new Smarty;

    $module_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');

    //fsk18 lock
    $fsk_lock = '';
    if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
      $fsk_lock = ' and p.products_fsk18!=1';
    }

    $group_check = '';
    if (GROUP_CHECK == 'true') {
      $group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
    }

    if ((!isset ($new_products_category_id)) || ($new_products_category_id == '0')) {

        $new_products_query = "SELECT * FROM ".TABLE_PRODUCTS." p, ".
                                           TABLE_PRODUCTS_DESCRIPTION." pd
                           WHERE p.products_id=pd.products_id "
    .$group_check." ".$fsk_lock."
                            AND p.products_status = '1'
                            AND pd.language_id = '"
    .(int) $_SESSION['languages_id']."'
                           ORDER BY p.products_date_added DESC LIMIT "
    .MAX_DISPLAY_NEW_PRODUCTS;
    } else {

      if (MAX_DISPLAY_NEW_PRODUCTS_DAYS != '0') {
        $date_new_products = date("Y.m.d", mktime(1, 1, 1, date("m"), date("d") - MAX_DISPLAY_NEW_PRODUCTS_DAYS, date("Y")));
        $days = " and p.products_date_added > '".$date_new_products."' ";
      }
      $new_products_query = "SELECT * FROM
                             "
    .TABLE_PRODUCTS." p,
                             "
    .TABLE_PRODUCTS_DESCRIPTION." pd,
                             "
    .TABLE_PRODUCTS_TO_CATEGORIES." p2c,
                             "
    .TABLE_CATEGORIES." c
                             where c.categories_status='1'
                             and p.products_id = p2c.products_id
                             and p.products_id = pd.products_id
                             and p2c.categories_id = c.categories_id
                             "
    .$group_check."
                             "
    .$fsk_lock."
                             and c.parent_id = '"
    .$new_products_category_id."'
                             and p.products_status = '1'
                             and pd.language_id = '"
    .(int) $_SESSION['languages_id']."'
                             order by p.products_date_added DESC
                             limit "
    .MAX_DISPLAY_NEW_PRODUCTS;
    }
    $row = 0;
    $module_content = array ();

    //BOF - web28 -  Produkte mit gleicher ID nicht doppelt anzeigen
    $pid_array = array();
    $new_products_query = xtDBquery($new_products_query);
    while ($new_products = xtc_db_fetch_array($new_products_query, true)) {
      if (!in_array($new_products['products_id'],$pid_array)) {
        $module_content[] = $product->buildDataArray($new_products);
      }
      $pid_array[] = $new_products['products_id'];
    }
    unset($pid_array);
    //EOF - web28 -  Produkte mit gleicher ID nicht doppelt anzeigen

    if (sizeof($module_content) >= 1) {
      $module_smarty->assign('language', $_SESSION['language']);
      $module_smarty->assign('module_content', $module_content);

      // set cache ID
       if (!CacheCheck()) {
        $module_smarty->caching = 0;
        if ((!isset ($new_products_category_id)) || ($new_products_category_id == '0')) {
          $module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/new_products_default.html');
        } else {
          $module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/new_products.html');
        }
      } else {
        $module_smarty->caching = 1;
        $module_smarty->cache_lifetime = CACHE_LIFETIME;
        $module_smarty->cache_modified_check = CACHE_CHECK;
        $cache_id = $new_products_category_id.$_SESSION['language'].$_SESSION['customers_status']['customers_status_name'].$_SESSION['currency'];
        if ((!isset ($new_products_category_id)) || ($new_products_category_id == '0')) {
          $module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/new_products_default.html', $cache_id);
        } else {
          $module = $module_smarty->fetch(CURRENT_TEMPLATE.'/module/new_products.html', $cache_id);
        }
      }
      $default_smarty->assign('MODULE_new_products', $module);
    }
    ?>

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    Ich find leider nirgendes den Befehl, für das ändern der max products_id in mysql.

    Code: SQL  [Auswählen]
    INSERT INTO products (products_id) VALUES (10000);

    Vielleicht würde das ja schon das Problem beheben?!

    Möglich. Versuch macht klug. Nach Ausführung des o.a. Befehls sollte der nächste neue Artikel die ID 10001 bekommen.

    Alexlaiho1980

    • Fördermitglied
    • Beiträge: 52
    • Geschlecht:
    Danke Shopnix für deine Antwort.

    Hab den Befehl ausgeführt und nach dem anlegen eines neuen Artikels erscheint die ID 10000 in der Datenbank nur ohne irgendwelche Infos wie products_model, products_image, product_price ect.

    Im Shop wird dieser richtig und komplett angezeigt.

    Habe einen weiteren Artikel angelegt, dieser wird nicht in der Datenbank gelistet (müßte ja 10001 sein)

    INSERT INTO products (products_id) VALUES (10000);
    ist dies denn für die maximal product_id?

    webald

    • modified Team
    • Beiträge: 2.791
    Bitte nimm das nicht persönlich, aber Du has keine Ahnung von SQL und der Logik des Shops. Lass bitte jemand Professionelles drauf schauen. Bei 2500 aktiven Artikel solltedas auch nicht das Problem sein hierfür ein paar Euto zu bezahlen.

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    Hab den Befehl ausgeführt und nach dem anlegen eines neuen Artikels erscheint die ID 10000 in der Datenbank nur ohne irgendwelche Infos wie products_model, products_image, product_price ect.

    Im Shop wird dieser richtig und komplett angezeigt.
    Wenn dieser Artikel mit der ID 10000 im Shop richtig angezeigt wird, ist irgendetwas oberfaul, denn da fehlen sämtliche Verknüpfungen.
    Habe einen weiteren Artikel angelegt, dieser wird nicht in der Datenbank gelistet (müßte ja 10001 sein)
    Du hast wirklich auf herkömmlichem Wege im Admin einen neuen Artikel angelegt, und der hat nicht die ID 10001?

    Entweder Du schwindelst, oder Deine Software ist total verpfuscht.

    INSERT INTO products (products_id) VALUES (10000);
    ist dies denn für die maximal product_id?
    Nein. Damit wir ein leerer Artikel mit der products_id 10000 eingefügt. Da vorher die größte ID bei 8xxx lag, ist anschließend 10000 die maximale ID, die nächste freie, die MySQL regulär vergeben würde, ist 10001.

    Wenn Du weiter selbst an der Geschichte herumfummeln willst, musst Du unbedingt einen SQL-Grundkurs belegen. Es hat absolut keinen Sinn, irgendwelche Befehle abzutippen, die Du nicht verstehst.

    Ich sehe ein, dass es manchmal schwierig ist, die richtigen Suchbegriffe zu finden. Mit den Befehlen, die ich Dir geliefert habe, hast Du die Suchbegriffe. Nun suche und lerne!

    Alexlaiho1980

    • Fördermitglied
    • Beiträge: 52
    • Geschlecht:
    Habt recht, ist vielleicht zu umfangreich. Kannst du mir jemanden empfehlen der sich das mal genauer anguckt? Ich hab leider schonmal schlechte erfahrungen mit einem programmierer gemacht :(

    ShopNix

    • Viel Schreiber
    • Beiträge: 1.208
    Am Montag kann ich mal reinschauen.
    4 Antworten
    3655 Aufrufe
    15. Juni 2010, 19:03:42 von Druidica
    26 Antworten
    13768 Aufrufe
    28. August 2011, 19:40:07 von Tomcraft
    4 Antworten
    1667 Aufrufe
    16. Juli 2018, 11:59:41 von profrolfwolf
    6 Antworten
    3896 Aufrufe
    23. November 2012, 21:43:58 von nikolaus1210
               
    anything