immer noch array-Problem in select-Abfrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • immer noch array-Problem in select-Abfrage

    Hallo,

    über ein Auswahlfeld bekomme ich folgende Variable:
    $Objekttyp = Aussiedlerhof,Bauernhaus,Bauernhof

    ich möchte folgende Abfrage:
    select .... where ObjArt IN (‘Aussiedlerhof‘,‘Bauernhaus‘,‘Bauernhof‘) order by ...

    wobei aber der Ausdruck in Klammern ein Array ist.

    wenn ich
    $Objekttyparray = explode(",",$Objekttyp); setze, dann müßte doch folgendes gehen:
    select .... where ObjArt IN (Objekttyparray) order by ...

    das Array $Objekttyparray wird zwar ‚gefüllt‘ (Ausgabe mit echo $Objekttyp[0] etc) aber für die select – Anweisung bekomme ich immer folgende Fehlermeldung:
    Unknown column 'Array' in 'where clause'

    Weiß da jemand weiter?

  • #2
    Warum probierst Du's nicht mal in die andere Richtung:

    $Objekttyparray = implode(",",$Objekttyp);
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      $Objekttyp = Aussiedlerhof,Bauernhaus,Bauernhof
      ist doch schon eine Zeichenkette (implode wäre da nicht die richtige Lösung und bringt dann eh eine Fehlermeldung). Das Problem ist, wie mache ich aus obiger $Objekttyp so daß sie lautet:
      $Objekttyp = ('Aussiedlerhof', 'Bauernhaus','Bauernhof'), denn nur wenn die Begriffe zwischen '' stehen, geht auch die Funktion
      select ... where Objart IN $Objekttyp

      Wie erreiche ich hier die Transformation?

      Kommentar


      • #4
        Du schriebst was von: "(Ausgabe mit echo $Objekttyp[0] etc)" ... also einem Array $Objecttype ...

        Trotz allem kannst Du nur was mit einem String anfangen und nicht mit einem Array:

        PHP-Code:
        $Objekttyparray explode(",",$Objekttyp);
        $stat="select .... where ObjArt IN ('".implode("','"$Objekttyparray)."') order by ... 
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Hallo goth,

          so funktionierts nun , danke dir, ich habe geglaubt der Ausdruck mit select .... where $variable IN (....) müßte einen Array in der Klammer stehen haben. Dem ist wohl nicht so.
          Ich habs etwas geändert in:


          .....where (ObjArt like '%".implode("%' or ObjArt like '%",$Objekttyparray). "%') && ....


          Gruß Ralf

          Kommentar

          Lädt...
          X