Abfrage, wo ist hier der fehler

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

  • Abfrage, wo ist hier der fehler

    hi!

    per formlar wird die db-abgrage gesteuert wo in einen pulldown die kategorien auszuwählen sind.

    die möglichkeiten in der db spalte sind, 1,2,2+,3,3+,4,4+,5,5+ (mit ENUM defeniert)

    die sql abfrage funktionier nur wenn ich die kategorie (kategorie_x) zur filterung hinzufüge bekomme ich falsche ergebnisse.

    als wann zb. $s_kategorie=1* - 2*+ ist sollen alle einträge ausgegeben werden wo die spalte kategorie mit 1,2,2+ belegt worden ist.

    hatte es mit kategorie='1' AND kategorie='2' AND kategorie='2+' und anstatt OR schon probiert, klappt leider nicht


    PHP-Code:
    if($s_kategorie=='egal' || $s_kategorie=='') {$kategorie_x="";}
    elseif(
    $s_kategorie=='1* - 2*+') {$kategorie_x="
    AND (kategorie='1' AND kategorie='2' AND kategorie='2+')"
    ;}
    elseif(
    $s_kategorie=='3* - 4*') {$kategorie_x="
    AND (kategorie='3' AND kategorie='3+' AND kategorie='4')"
    ;}
    elseif(
    $ss_kategorie=='4*+ - 5*+' ) {$kategorie_x="
    AND (kategorie='4+' AND kategorie='5' AND kategorie='5+')"
    ;} 
    danke schon mal

  • #2
    Also, wenn ich dein Problem richtig verstanden habe, dann solltest du AND durch OR ersetzen, da du das Feld laut deiner Beschreibung entweder mit 1 oder mit 2 oder mit 2+ etc. gefüllt hast.

    Gruß
    Stephan
    [font=Verdana]SteGaSoft
    Theorie ist, wenn jeder weiß, wie es geht, aber nichts funktioniert, Praxis ist, wenn alles funktioniert und niemand weiß warum.
    [/font]

    Kommentar


    • #3
      hi, das dachte ich mir auch aber leider bekomme ich trotzdem das falsche ergebnis, kann es sein das es an dem + liegt???

      Kommentar


      • #4
        poste doch mal die komplette abfrage, so wie du sie an mysql_query übergibst
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          @all

          hab den fehler gerade gefunden, $ss -> hier war ein s zuviel daher hat er immer das falsche ausgegeben.

          lg

          Kommentar

          Lädt...
          X