Barcode: Abfrage

Hallo,

ich habe momentan folgende Abfrage integriert:

<?php ///Lieferzeit berechnen if ($product_info['priceCalc1SupplierName'] == "Lieferant1")     {$Lieferzeit = '1-2 Wertage' ;} else {$Lieferzeit = '2-5 Wertage' ;} ?>

Das klappt 1a. Nun habe ich aber mehrere Lieferanten die nur 1-2 Tage benötigen und wollte dies wie folgt realisieren:

<?php ///Lieferzeit berechnen if ($product_info['priceCalc1SupplierName'] == "Lieferant1" or "Lieferant2" or "Lieferant3")     {$Lieferzeit = '1-2 Wertage' ;} else {$Lieferzeit = '2-5 Wertage' ;} ?>

Das funktioniert leider überhaupt nicht! So wird bei jedem Lieferant eine Lieferzeit von 1-2 Werktagen gesetzt, auch wenn es Lieferant36 wäre.

Was könnte ich falsch gemacht haben?

Danke und MFG

Barcode

  1. Hi

    <?php ///Lieferzeit berechnen if ($product_info['priceCalc1SupplierName'] == "Lieferant1" or "Lieferant2" or "Lieferant3")     {$Lieferzeit = '1-2 Wertage' ;} else {$Lieferzeit = '2-5 Wertage' ;} ?>

    Schau einmal genauer hin. Du bist der deutschen Sprache zu mächtig ;) PHP kann zwischen mehreren *verschiedenen* Variablen unterscheiden.

    Also müsstest du fragen:

    ist lieferant = lieferant1 oder ist lieferant = lieferant2 oder ist ....

    In Hinblick auf die Zukunft wäre es geschickter, du stellst alle Lieferanten, die eine Lieferzeit von 1-2 Werktagen haben, in ein Array. In deiner Abfrage prüfst du dann ob der Lieferant deines Produkts in eben diesem Array vorhanden ist (Funktion in_array).

    Liebe Grüße
    heino

    1. Super, ich dank dir!

  2. Abfrage

    Hans A. Plast

    if ($product_info['priceCalc1SupplierName'] == "Lieferant1" or "Lieferant2" or "Lieferant3")
        {$Lieferzeit = '1-2 Wertage' ;}
    else {$Lieferzeit = '2-5 Wertage' ;} ?>[/code]

    Das funktioniert leider überhaupt nicht! So wird bei jedem Lieferant eine Lieferzeit von 1-2 Werktagen gesetzt, auch wenn es Lieferant36 wäre.

    Was könnte ich falsch gemacht haben?

    if (($product_info['priceCalc1SupplierName'] == "Lieferant1") || () || ()) {

    Grüße, Hans

  3. Hi!

    Schau Dir doch mal das switch statement von php an. Insbesondere das Leerlassen der Befehlsliste eines cases, sollte Dich in diesem Fall interessieren.

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett

  4. Hallo,

    Das klappt 1a. Nun habe ich aber mehrere Lieferanten die nur 1-2 Tage benötigen und wollte dies wie folgt realisieren:

    Du könntest es auch mal mit in_array() versuchen, das wäre wahrscheinlich übersichtlicher ...

    Dank und Gruß,
    luti