Abfragen aus Listenfelder

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

  • Abfragen aus Listenfelder

    Hallo Board,

    ich habe ein komplexes Problem mit PHP und SQL, aber mehr grundsätzlicher Art. Auf jedn Fall versuche ich es erstmal im SQL-Bereich:
    Ich habe eine DB, auf die über PHP und Listenfelder zugegriffen wird.
    Hier der Aufbau:
    Haupttabelle
    Kategorie1
    Kategorie2
    Kategorie3
    ...

    Kategorie1
    id,name1_kategorie1
    id,name2_kategorie1
    ...

    Kategorie2
    id,name1_kategorie2
    id,name2_kategorie2
    ...
    also werden in der Haupttabelle nur die id's aus den Untertabellen dargestellt.
    Ich habe jetzt ein Auswahl-Script, in dem man über Listenfelder die verschiedenen Kategorien aussuchen kann und dann eine SQL-Abfrage aus der Haupttabelle die gewünschten EInträge herauszieht. Die Listenfelder werden über PHP mit den EInträgen aus den Untertabellen gefüllt und geben in einer Variablen die id der gewählten Einträge (z.b. name1_Kategorie2) zurück.
    Jetzt meine Fragen:[list=1][*]Wie frage ich prinzipiell ab, ob überhaupt Kategorien zur EInschränkung ausgwählt werden?[*]Ich muss ja Unterabfragen basteln, um herauszufinden, welche Einschränkungen gewählt wurden. Wie gebe ich diese Einschränkungen der "großen" SQL-Abfrage mit auf den Weg? Baue ich Unterabfragen in einer if-Schleife oder mache ich das direkt in der "großen"?[*]Baue ich mir eine Funktion für diese Unterabfragen?[/list=1]
    Ganz schön heftig, oder?
    Ich kann leider noch nicht so viel Code mit auf den Weg geben, weil ich noch in der Konzept-Phase bin. UNd da bin ich auch schon stecken geblieben.:-(
    Ich bin deshalb über jeden Tipp dankbar.
    Gruß!
    System:
    PHP 4.1.2
    MS SQL Server 2000
    Win NT4 SP 6 auf PIII

  • #2
    warum suchst du nicht im forum?

    hier sollte alles stehen, was du wissen mußt.

    http://www.php-resource.de/forum/sho...threadid=20667
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hallo,

      im Grunde hast du Recht: erst suchen, dann fragen.
      Aber: der obige Thread ist nicht genau das, was ich meine.

      Ich habe noch vergessen, das Listenfeld zu zeigen:
      PHP-Code:
      <form>
      <table>
      <tr>
      <td><select name="bsp">
                  <option value="">alle</option>
                  <?
                     $sql="select id, wert from tblBsp order by wert";
                     $res=mssql_query($sql);
                     while ($eintrag=mssql_fetch_array($res)){
                       ?><option value="<?= $eintrag[id?>" ><?= $eintrag["wert"?> </option><?
                     }
                  ?>
                  </select></td>
      </tr>
      </table>
      </form>
      ICh habe also eine Option "alle" und die restliche Optionen aus der Tabelle "Bsp".
      Wie sage ich SQL, dass bei der Auswahl von "alle" keine Einschränkung vorgenommen wird?
      Dazu fehlt mir ein Workaround.
      Zumindest ICh habe den in dem obigen Thread nicht gefunden...
      System:
      PHP 4.1.2
      MS SQL Server 2000
      Win NT4 SP 6 auf PIII

      Kommentar


      • #4
        gib dem 'alle' einen definierten wert. z.b. x1 oder so. und wenn der dann kommst, ist 'alles' gewählt.

        aber dann macht es so keinen sinn, was das angeht. ich würde dir dann ein select mit multiple empfehlen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          ...und das heißt?
          Meinst du ein select mit einer Where-Klausel, die die Wertew aus den Listenfeldern abfragt?
          System:
          PHP 4.1.2
          MS SQL Server 2000
          Win NT4 SP 6 auf PIII

          Kommentar


          • #6
            sie die gepostete url zum anderen thread.

            das prinzip ist das gleiche.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X