Suche in Optionsfeld

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

  • Suche in Optionsfeld

    Hallo,

    ich habe in folgenden Tabellenaufbau:

    ID | Objekt | Standort | Grösse
    1 Haus Berlin 500
    2 Grundstück München 10000
    3 Strandhaus Rostock 250


    Nun möchte ich in meiner Suche folgendes einbauen. Es sollte ein Optionsfeld geben, dass die Einträge 100-500 m2, 500-1000m2 hat.

    Wenn ich nun auf den 1.Eintrag (also 100-500 m2)klicke, dann sollen die Datensätze 1 und 3 angezeigt werden. Wähle ich z.B. die 2.Option, dann wird dementspreched der 2.Datensatz dargestellt. Wie mache ich das? Hat jemand ne Idee?

    Gruss
    Benji

  • #2
    entweder du bastelst dirne neue tabelle, die die auswahlkriterien beinhaltet, dann nimmst du als value für die option-tags die jeweilie id aus dieser tabelle und machst die abfrage mittels join oder du schreibst in value sowas rein " BETWEEN 100 AND 500", dann kannst du ganz einfach abfragen mit "WHERE groesse $ausgewaehlte_groesse"
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Ich habe folgende Selectbox:

      <select name="grundgroesse" size="1">
      <option value="Keine Angaben">Keine Angaben</option>
      <option value="100-500 m2">100 - 500 m2</option>
      <option value="500-1000 m2">500 - 1000 m2</option>
      <option value="1000-3000 m3">1000 - 3000 m3</option>
      <option value="3000-5000m3">3000 - 5000m3</option>
      <option value="5000-10000 m2">5000 - 10000 m2</option>
      <option value="über 10000 m2">über 10000 m2</option>
      </select>

      Wie soll denn nun die Abfrage aussehen? Vielleicht so:

      $abfrage = mysql_query("SELECT DISTINCT * FROM angebote WHERE grundgroesse = '$grundgroesse'");

      Ist das soweit korrekt?

      Kommentar


      • #4
        wenn in der spalte irgendwo "100 - 500m²" steht: ja

        wenn nicht: nein, meine antwort oben (nochmal) lesen
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Das ist ja das Problem. In der Spalte steht z.B 250. Mehr nicht. Was genau meinst du mit " BETWEEN 100 AND 500" ?

          Wie kann ich das in mein Beispiel einbauen?

          Kommentar


          • #6
            http://www.mysql.com/doc/de/Comparison_Operators.html
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Danke für den Link. Aber irgenwie hilft das mir auch nicht weiter. Wie würdest du denn das Problem lösen? Soll ich eine neue Tabelle anlegen oder mit der BEWEEN Methode arbeiten?

              Gruss
              Benji

              Kommentar


              • #8
                bei der neuen tabelle würd ich auch mit between arbeiten *g*
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Und wie soll die neue Tabelle aufgebaut sein? Wie genau hast du dir das vorgestellt?

                  Kommentar


                  • #10
                    Code:
                    platz_id | von | bis
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Ich habe mir jetzt mal folgende Tabelle angelegt:

                      Tabelle: groesse

                      ID | VON | BIS
                      -------------------
                      1 100 500
                      2 500 1000
                      3 1000 5000

                      Und wie sollte die Abfrage aussehen? Irgendwie verstehe ich nicht ganz wie du das meinst.

                      Gruss
                      Benji

                      Kommentar


                      • #12
                        Code:
                        SELECT *
                        FROM
                          objekttabelle t
                          INNER JOIN groessen g ON (t.groesse BETWEEN g.von AND g.bis)
                        WHERE g.id=<der wert des optionsfeldes>
                        ausprobieren

                        wenn's nicht geht, sql anweisung mit echo ausgeben lassen und gleich mitposten
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Funktioniert leider nicht. Ich habe mal meine Anweisung gepostet. Die Tabelle dhs_immo_angebote enthält die Spalte "grundgrösse", wo die verschiedenen Grössen gespeichert sind. Die Tabelle "groessen" hat 3 Spalten (id, von, bis).

                          $abfrage = mysql_query("SELECT * FROM dhs_immo_angebote t INNER JOIN groessen g
                          ON (t.grundgrösse BETWEEN g.von AND g.bis)
                          WHERE g.id='$grundgroesse'");

                          echo $abfrage;

                          Wenn ich mir mit echo die Abfrage ausgeben lasse, erhalte ich "Resource id #6"


                          Gruss
                          Benji

                          Kommentar


                          • #14
                            Re: Suche in Optionsfeld

                            Original geschrieben von Benji
                            Nun möchte ich in meiner Suche folgendes einbauen. Es sollte ein Optionsfeld geben, dass die Einträge 100-500 m2, 500-1000m2 hat.

                            Wenn ich nun auf den 1.Eintrag (also 100-500 m2)klicke, dann sollen die Datensätze 1 und 3 angezeigt werden. Wähle ich z.B. die 2.Option, dann wird dementspreched der 2.Datensatz dargestellt. Wie mache ich das? Hat jemand ne Idee?
                            dann sorge dafür, dass in deinem php-script die umsetzung "1. option ausgewählt" -> "grenzwerte, die ich für die abfrage brauche, sind 100 und 500" irgendwie stattfinden kann.

                            ob du die werte aus einem array oder aus einer weiteren tabelle holst, ist den leuten hier um forum sch***egal - aber nicht egal ist mir, dass du offensichtlich kein stück weit selber logisch nachdenkst.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Ich wollte ja nur um Hilfe bitten. hät ja nicht gedacht, dass ich hier gleich so voll geschnauzt werde.

                              Kommentar

                              Lädt...
                              X