Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
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: Suche Weiterleitung wenn Anzahl = 1

    klask

    • Neu im Forum
    • Beiträge: 15
    Suche Weiterleitung wenn Anzahl = 1
    am: 01. November 2010, 09:02:57
    Guten Morgen,

    bitte um Hilfe bei der Suche nach der richtigen Datei um folgendes zu realisieren.
    Wenn im Shop z. B. nach der ISBN/ EAN gesucht wird, gibt es nur ein Ergebnis welches zu der Anfrage passt. In diesem Fall möchte ich direkt zu der Artikelseite product_info weiterleiten.

    Eben habe ich in der advanced_search_result angefangen mit:

    Code: PHP  [Auswählen]
            $anzahl = mysql_num_rows($listing_sql);
            if($anzahl....
     
    Aber wie ich an die Daten wie z. B. die Artikelnummer aus dem Ergebnisstring drankomme, kann ich nicht finden.

    Schönen Feiertag noch.
    Gruß



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

    franky_n

    • Experte
    • Beiträge: 4.950
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #1 am: 01. November 2010, 09:20:51
    Hallo coder90,

    in der advanced_search_result nach Z.27:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_get_currencies_values.inc.php');
    das einfügen:

    Code: PHP  [Auswählen]
    require_once (DIR_FS_INC.'xtc_db_num_rows.inc.php');
    require_once (DIR_FS_INC.'xtc_db_fetch_array.inc.php');
     
    und nach Z.269:

    Code: PHP  [Auswählen]
            //glue together
            $listing_sql = $select_str.$from_str.$where_str;
     
    das einfügen:

    Code: PHP  [Auswählen]
    $listing_query = xtDBquery($listing_sql);
    $anzahl = mysql_num_rows($listing_query);
    if ($anzahl == 1) {
        $listing = xtc_db_fetch_array($listing_query);
        xtc_redirect(xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($listing['products_id'], $listing['products_name'])));
    }
    Dann noch das redirect in Z.100 ausschneiden:

    Code: PHP  [Auswählen]
            require (DIR_WS_INCLUDES.'header.php');
    vor Z.269:

    Code: PHP  [Auswählen]
            require (DIR_WS_MODULES.FILENAME_PRODUCT_LISTING);
    einfügen.

    EDIT: Mit bestem Dank für die Modifikation an h-h-h

    Viele Grüße

    Franky

    klask

    • Neu im Forum
    • Beiträge: 15
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #2 am: 01. November 2010, 09:35:34
    Hallo Franky,
    dankeschön!

    Bei Anzahl fehlt mysql_query()

    Code: PHP  [Auswählen]
    $anzahl = xtc_db_num_rows(mysql_query($listing_sql));
     
    Leider habe ich noch ein Problem, wobei es auch an dem Webpack von HostEurope liegen kann(?)
    Beim Versuch auf die Artikelseite weiterzuleiten erhalte ich diese Fehlermeldung:
    Zitat
    Warning: Cannot modify header information - headers already sent by (output started at ...includes/header.php:33) in ...xtc_redirect.inc.php on line 34

    franky_n

    • Experte
    • Beiträge: 4.950
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #3 am: 01. November 2010, 09:46:07
    Hallo coder90,

    dann hast Du wahrscheinlich in der header.php oder der inc/xtc_redirect... nach dem ?> noch Leerzeichen oder so was.
    Das ist ein typischer Fehler wenn schon vor der Funktion HTML ausgegeben wurde...

    Viele Grüße

    Franky

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #4 am: 01. November 2010, 10:10:17
    Hi franky_,
    der bekommt anzahl == 1 einfach nicht.
    Irgendwo muss noch ein Fehler sein.

    Gruß h-h-h

    klask

    • Neu im Forum
    • Beiträge: 15
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #5 am: 01. November 2010, 10:13:25
    Hallo h-h-h,

    hast du mysql_query bei $anzahl hinzugefügt?

    Gruß

    klask

    • Neu im Forum
    • Beiträge: 15
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #6 am: 01. November 2010, 10:17:17
    Um bei den Funktionen von xt zu bleiben

    Code: PHP  [Auswählen]
    $anzahl = xtc_db_num_rows(xtDBquery($listing_sql));

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #7 am: 01. November 2010, 10:19:21
    Jo, genau jetzt geht es. ;)

    Code: PHP  [Auswählen]
    $listing_query = xtDBquery($listing_sql);
    $anzahl = mysql_num_rows($listing_query);
    if ($anzahl == 1) {
            $listing = xtc_db_fetch_array($listing_query);
        xtc_redirect(xtc_href_link(FILENAME_PRODUCT_INFO, xtc_product_link($listing['products_id'], $listing['products_name'])));
    }

    klask

    • Neu im Forum
    • Beiträge: 15
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #8 am: 01. November 2010, 10:22:37
    Funktioniert die Weiterleitung bei dir ohne Fehlermeldung?
    Hast du schon an der header.php etwas verändert?

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #9 am: 01. November 2010, 10:25:37
    Bei mir funktioniert es sehr gut!
    Joar, an meiner Header ist einiges verändert.  :?

    Gruß h-h-h

    franky_n

    • Experte
    • Beiträge: 4.950
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #10 am: 01. November 2010, 10:27:06
    Hallo coder90,

    wenn dann bitte so:

    Code: PHP  [Auswählen]
    $listing = xtc_db_fetch_array(xtc_db_query($listing_query));
    Viele Grüße

    Franky

    franky_n

    • Experte
    • Beiträge: 4.950
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #11 am: 01. November 2010, 10:29:57
    Hallo coder90,

    suche nach Leerzeichen oder einer HTML Ausgabe, wie bereits oben beschrieben...
    Die header beinhaltet ja noch andere Dateien die included werden...

    Ich passe das mal oben an. Hab den query vergessen... jo! :)

    EDIT: Lösung in Beitrag 2

    Viele Grüße

    Franky

    franky_n

    • Experte
    • Beiträge: 4.950
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #12 am: 01. November 2010, 10:52:54
    Hallo coder90,

    ich habe Dein Problem nachvollziehen können.

    Gehe in die advanced_search_result.php in Z.100 und verschiebe die:

    Code: PHP  [Auswählen]
            require (DIR_WS_INCLUDES.'header.php');
    in Z.270 vor das:

    Code: PHP  [Auswählen]
            require (DIR_WS_MODULES.FILENAME_PRODUCT_LISTING);
    Dann sollte es klappen. Die header wurde zu früh eingebunden vor dem redirect und gab schon HTML Code aus.

    Viele Grüße

    Franky

    klask

    • Neu im Forum
    • Beiträge: 15
    Suche Weiterleitung wenn Anzahl = 1
    Antwort #13 am: 01. November 2010, 10:58:32
    TIPTOP! :o
    Danke Franky!

    Lieben Gruß

    0 Antworten
    2702 Aufrufe
    02. September 2011, 14:38:00 von korth
    3 Antworten
    2489 Aufrufe
    30. Januar 2011, 14:02:55 von h-h-h
               
    anything