Announcement

Collapse
No announcement yet.

umfangreiche Suchabfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • umfangreiche Suchabfrage

    Hallo,
    ich versuche über mehrere Dropdownfelder eine Datenbank zu filtern, das sieht wie folgt aus:
    PHP Code:
    $sql "SELECT o.id, o.ref_nr, o.price_1, o.city, o.category, o.land, t.description_sh_de, b.rcfile FROM tbl_objekte o INNER JOIN  tbl_texte t ON o.id = t.id INNER JOIN  tblcms_bilder b ON o.id = b.objid WHERE b.master = '1' ";
        if (isset(
    $_GET["caty"])) $sql .= "AND o.category = '".$caty."'";
        if (
    $category != ''$sql .= "AND o.category = '".$category."'";
        if (
    $price != ''$sql .= "AND o.price_1 > $price AND  o.price_1 < $price_high";
        if (
    $land != ''$sql .= "AND o.land = '".$land."'";
        
    $sql .=" LIMIT ".$page.",".$limit 
    leider funktioniert das script nur beim ersten mal, bei der zweiten Änderung eines Dropdownfeldes wird kein Wert zurück gegeben.

    es stellt sich mir eine weitere Frage, ist dies überhaupt der richtige Weg, wird so eine schnelle und stabile Datenbankabfrage über mehrere Suchfelder erstellt oder gibt es andere, bessere Möglichkeiten?

    Baccu
    Zuletzt editiert von Falk Prüfer; 13.03.2009, 13:32.

  • #2
    Hallo Baccu,

    ich hab mir mal erlaubt deinen Beitrag zu ändern, um den QT wenigstens etwas leserlich zu machen. Bitte für zukünftige Beiträge eine sinnvolle Formatierung verwenden.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Nun zu deinem Problem:
      Originally posted by Baccu View Post
      ...leider funktioniert das script nur beim ersten mal, bei der zweiten Änderung eines Dropdownfeldes wird kein Wert zurück gegeben.
      Was heißt das? Wird es danach nicht mehr aufgerufen? Gibt es einen Fehler? Wenn ja welchen? Hast du dir mal den generierten SQL-Text ausgeben lassen und verglichen? Wenn ja mit welchem Ergebnis? ...
      Originally posted by Baccu View Post
      ...es stellt sich mir eine weitere Frage, ist dies überhaupt der richtige Weg, wird so eine schnelle und stabile Datenbankabfrage über mehrere Suchfelder erstellt oder gibt es andere, bessere Möglichkeiten?
      Kommt ja darauf an was du erreichen willst und ob immer alle Kriterien UND-verknüpft sind. Was die Schnelligkeit angeht ist auch entscheidend wie deine Tabellen aufgebaut sind und welche Indizes vorhanden sind.
      Um den QT zu vereinfachen (und übersichtlicher zu gestalten) könnte man vielleicht noch eine Schleife verwenden, aber ich weiß nicht ob es das ist was du wolltest.

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Das Problem habe ich gelöst, war mal wieder ein simpler Fehler:
        Habe das default-value nicht leer gelassen, somit wurde die DB nach 0 gefiltert und konnte zwangsläufig keine Daten zurück liefern.

        Originally posted by Falk Prüfer View Post
        Nun zu deinem Problem:

        Was heißt das? Wird es danach nicht mehr aufgerufen? Gibt es einen Fehler? Wenn ja welchen? Hast du dir mal den generierten SQL-Text ausgeben lassen und verglichen? Wenn ja mit welchem Ergebnis? ...
        Erreichen möchte ich eine schnelle und stabile DB-Abfrage, ich bin eigentlich zufrieden mit dem was ich habe, meine Frage zielte darauf hin, ob es aus eurer Erfahrung eine andere Art der UND vernüpften Abfrage gibt, abgesehen von der Optimierung an anderer Stelle (Tabellen, Indizies etc.). Wenn nicht ist das um so besser denn dann bin ich auf dem richtigen Weg.

        Originally posted by Falk Prüfer View Post
        Kommt ja darauf an was du erreichen willst und ob immer alle Kriterien UND-verknüpft sind. Was die Schnelligkeit angeht ist auch entscheidend wie deine Tabellen aufgebaut sind und welche Indizes vorhanden sind.
        Um den QT zu vereinfachen (und übersichtlicher zu gestalten) könnte man vielleicht noch eine Schleife verwenden, aber ich weiß nicht ob es das ist was du wolltest.

        Gruß Falk

        Comment

        Working...
        X