Moonwalker: Filtern ??

Hallo,

Wie kann ich jetzt mit Hilfe einer Dropdown-Box nach bestimmten Kriterien filtern ?

z.B. auf der PHP-Seite wo alle Datensätze durch eine dynamische Tabelle angezeigt werden, sollte eine Dropdownbox sein. Wähle ich jetzt den Eintrag "Max" dann sollten mir NUR die Datensätze in der dynamischen Tabelle angezeigt werden, die in der Spalte "Vorname" den Wert "Max" stehen haben.

Wie bekommt man das hin ??

VIELEN DANK !!!

MFG
Moonwalker

  1. Du machst ein Formular für das Dropdown und wenn man das dann abschickt, gibste die Variable Max selektierst damit deine Abfrage : SELECT * FROM adressen WHERE vorname = '$gewählter_name'

    Könnte zum Beispiel so aussehen :

    <form action=?bla.php method=post>
     <select name=name>
      <option value=max>Max</option>
      <option value=peter>Peter</option>
     </select>
     <input type=submit value=Selektieren>
    </form>

    ---

    if(!isset($name)) {
     SELECT * FROM adressen }
    else {
     SELECT * FROM adressen WHERE vorname = '$name'

    --

    Den Rest schaffste sicher selber :)

    1. Hallo,

      erstmal Danke für Eure Hilfe allerdings steige ich als absoluter Newbie noch nicht ganz durch. Ich bekomme immer eine Fehlermeldung. Das liegt, so vermute ich, an dem an der falschen Stellen eingefügten PHP-TAG.

      Hier mal mein Quelltext:

      <?php require_once('Connections/test.php'); ?>
      <?php
      mysql_select_db($database_test, $test);
      $query_Recordset1 = "SELECT * FROM aufgaben";
      $Recordset1 = mysql_query($query_Recordset1, $test) or die(mysql_error());
      $row_Recordset1 = mysql_fetch_assoc($Recordset1);
      $totalRows_Recordset1 = mysql_num_rows($Recordset1)
      ?>

      <html>
      <head>
      <title>Untitled Document</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>

      <body>
      <form action=?tabelle.php method=post>
        <select name=namen>
          <option value=max>Max</option>
          <option value=peter>Peter</option>
        </select>
        <input name="submit" type=submit value=Selektieren>
      </form>

      <?php
      if(!isset($namen)) {SELECT * FROM aufgaben }
      else {
      SELECT * FROM aufgaben WHERE Vorname = '$namen'
      ?>

      <p> </p>
      <p> </p>
      <table border="0">
        <tr>
          <td>Primary</td>
          <td>Nachname</td>
          <td>Vorname</td>
          <td>Problem</td>
        </tr>
        <?php do { ?>
        <tr>
          <td><?php echo $row_Recordset1['Primary']; ?></td>
          <td><?php echo $row_Recordset1['Nachname']; ?></td>
          <td><?php echo $row_Recordset1['Vorname']; ?></td>
          <td><?php echo $row_Recordset1['Problem']; ?></td>
       <td><?php echo "<a href="bearbeiten.php?Primary=".$row_Recordset1['Primary']."">bearbeiten</a>"; ?></td>

      </tr>
        <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
      </table>
      <p> </p>
      <p><a href="tabelle.php">Eingabe</a></p>
      </body>
      </html>
      <?php
      mysql_free_result($Recordset1);
      ?>

      1. Hallo Moonwalker,

        Ich bekomme immer eine Fehlermeldung.

        und die wäre?

        Das liegt, so vermute ich, an dem an der falschen Stellen eingefügten PHP-TAG.

        php-tag? meinst du "<?php" bzw. "?>"?

        $query_Recordset1 = "SELECT * FROM aufgaben";

        brauchst du wirklich _alle_ Spalten (das dürfte ziemlich große Arrays geben...)?
        einzelne dürften es doch auch tun, oder? ->http://www.mysql.com/doc/de/Selecting_columns.html

        <html>

        es fehlt noch ein doctype

        <title>Untitled Document</title>

        mhh... mhh... ja...

        <form action=?tabelle.php method=post>

        hier fehlen noch Anführungszeichen (außerdem ist mir nicht so ganz klar, was du eigentlich als action haben willst)

        <select name=namen>[...]</select>
          <input name="submit" type=submit value=Selektieren>

        <form> darf nur block-level-Element (und script) enthalten, aber das nur so am Rande...

        if(!isset($namen)) {SELECT * FROM aufgaben }

        *grmpf* nicht einfach alles kopieren und einsetzen... du musst das "SELECT ..." natürlich statt dem oben in mysql_query() einsetzten

        else {
        SELECT * FROM aufgaben WHERE Vorname = '$namen'

        das auch - wobei du statt $namen besser $_POST['namen'] schreiben solltest.

        mysql_free_result($Recordset1);

        das ist zwar nicht falsch, aber nicht nötig, da der Speicher am Ende des Scripts sowieso freigegeben wird.

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  2. Hallo,

    Hallo

    z.B. auf der PHP-Seite wo alle Datensätze durch eine dynamische
    Tabelle angezeigt werden, sollte eine Dropdownbox sein.

    Was ist bei dir jetzt genau eine dynamische Tabelle?

    Wähle ich jetzt den Eintrag "Max" dann sollten mir NUR die
    Datensätze in der dynamischen Tabelle angezeigt werden, die in
    der Spalte "Vorname" den Wert "Max" stehen haben.

    Wie bekommt man das hin ??

    Wenn du sagst in welcher Wiese die Datensätze vorliegen, kann man auch genaueres dazu sagen.

    Ich nehm jetzt einfach mal an, dass du die Datensätze aus z.B. einer MySQL-Datenbank holst. Dabei hat die Tabelle in der Datenbank, worin deine Daten gespeichert sind unter anderem mal die Spalten: "name", "vorname", "alter" ...

    Da du nun wohl nur die mit dem Vornamen "Max" haben willst, sehe dann der Befehl beispielsweise wie folgt aus:

    mysql_query("SELECT * FROM tabelle WHERE vorname='Max'");

    VIELEN DANK !!!

    Bitte.

    PS: Deine Anfrage enthält eindeutig zuwenig genaue Informationen.
        Aus diesem Grund ist meine Antwort auch sicher nicht ausreichend.
        Aber das liegt halt an dir.. naja :o)

    MFG

    dito.

    Moonwalker

    WFUX