Wie fragt man Kategorien ab ?

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

  • Wie fragt man Kategorien ab ?

    Hallo,

    ich habe wieder ein Problem. Wie kann man nach Kategorien in einer Tabelle suchen ?

    Ich möchte gerne mit Checkboxen(mit Mehrfachauswahl) bestimmte Dinge in Kategorien suchen.
    Es sollen alle "irgendwas" aus bestimmten kategorien gesucht werden.
    Man soll dabei mehrere Kategorien auswählen können.

    Beispiel: Suchen alle Katzen aus den Kategorien "männlich" und "weiblich"

    männlich und weiblich sind dann die Checkboxen.

    Ich probiere da seit 3 Tagen herum und das klappt einfach nicht.

    Geht das so ?:
    PHP-Code:
    "SELECT * FROM tabelleX WHERE feldZ LIKE '%$irgendwas%' AND  (feldX LIKE '%$checkbox1%' OR
    '%
    $checkbox2%') 
    oder so?:
    PHP-Code:
    "SELECT * FROM tabelleX WHERE feldZ LIKE '%$irgendwas%' AND  (feldX LIKE '%$checkbox1%' OR feldY
    '%
    $checkbox1%') 
    ich habe das auch schon mit den geklammerten[] Namen bei den Checkboxen versucht und mit bilden eines arrays etc.
    Aber es geht einfach nicht.

    Wie muss den eigentlich die Tabelle aufgebaut sein, damit das klappt ?

  • #2
    Mit Normalisierung solltest du dich als erstes beschäftigen.

    http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Da habe ich noch nichts von gehört, aber ich denke das hilft mir auch nicht weiter.

      Kommentar


      • #4
        Doch!
        Die Die 5 Normal Formen sind das Maß der Dinge in der DB Welt.
        Wir werden alle sterben

        Kommentar


        • #5
          Hat niemand von euch eine Webseite ?
          So eine Abfrage gibt es doch auf so vielen Webseiten.

          Ich möchte ja nur wissen wie die Abfrage aussehen muss.

          Dann habe ich auch noch ein zweites Problem:
          Was ist an dieser Funtkion falsch, diese funktioniert nämlich auch nicht.
          Obwohl Sie angeblich funtionieren soll.

          PHP-Code:
          "SELECT * FROM personen WHERE  personen.name LIKE '%$name%' 
          AND (personen.alter BETWEEN '%
          $altervon%'
               AND '%
          $alterbis%')
          ORDER BY personen.id DESC" 
          Ob mit oder ohne Klammer, es geht nicht.
          Wenn ich die BETWEEN Abfrage weglasse funktioniert es.
          Was ist da falsch ?

          Kommentar


          • #6
            Zitat von veil Beitrag anzeigen
            Hat niemand von euch eine Webseite ?
            So eine Abfrage gibt es doch auf so vielen Webseiten.
            Andere Leute haben vernünftig normalisierte Datenmodelle.

            Was ist an dieser Funtkion falsch, diese funktioniert nämlich auch nicht.
            Zunächst mal ist hier deine Problembeschreibung falsch - denn „funzt nich” ist keine.

            Wenn ich die BETWEEN Abfrage weglasse funktioniert es.
            Was ist da falsch ?
            Das fragst du bitte zunächst die Datenbank, in dem du mysql_error auswertest.
            Und dann lässt du dir die von PHP generierte Query zur Kontrolle mal ausgeben, so dass die enthaltenen Variablen bereits ersetzt worden sind.
            Wenn das OK aussieht, dann testest du es mal per Copy&Paste über ein DB-Frontend wie phpMyAdmin oder über die Konsole.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar

            Lädt...
            X