Joan: Zeichenvergleich

Hallöchen,

ich hab da mal noch ne Frage.
Ich will mir Daten aus meiner Datenbank anzeigen lassen.
Dort gibt es aber verschiedene Gruppen.
Sagen wir mal ich wähle Gruppe A aus. Dann muss ich alle Datensätze die zu Gruppe A gehören auswählen. Wie mach ich denn das?

Ich könnte mir vorstellen, dass ich das Feld in der die Gruppe vermerkt ist, auslese und dann mit meiner Auswahl vergleiche.
Die Auswahl tätige ich im übrigen über die select-Formular Funktion.
Ok war jetzt ein bisschen kompliziert ausgedrückt, aber ich hoffe, ihr wißt trotzdem, was ich meine.

Danke schon mal im voraus.
Joan

  1. Gugucks Joan,

    ich hab da mal noch ne Frage.

    Ob wir die wohl auch noch beantworten können?

    Ich will mir Daten aus meiner Datenbank anzeigen lassen.

    Irgendwie sind Datenbanken dazu ja auch da, nicht wahr ;-)

    Dort gibt es aber verschiedene Gruppen.
    Sagen wir mal ich wähle Gruppe A aus. Dann muss ich alle Datensätze die zu Gruppe A gehören auswählen. Wie mach ich denn das?

    Hm, also du hast eine Tabelle namens myTable und darin eine Spalte namens grp.
    In der Spalte grp stehen entweder die Werte A,B,C.

    Um die nun diejenigen Datensätze rauszufiltern, die der Gruppe A angehören, benutzt du innerhalb deines Select-Statements die WHERE-Klausel:

    $result=mysql_query("SELECT * FROM myTable WHERE grp='A'");
    Den Rest kennste jetzt ja schon :-))

    Gruß, Uschi

    1. Hallo,

      ich glaube, ich sollte mal etwas deutlicher Ausdrücken, was mein Problem ist. :-)
      Am besten ich schick einfach mal das, was ich bis jetzt geschrieben hab.

      <html>
      <body>
      <table width="100%">
      <tr>
      <form action="index_test1.php" method="post">
      <td align="center">Veranstaltungsdatenbank <br><br></td>
      </tr>
      <tr>
      <td align="center">
      <select name="select">
        <Option value="0">
        <Option value="1">  Ausstellung
        <Option value="2">  Ballett
        <Option value="3">  Fasching
        <Option value="4">  Fest
        <Option value="5">  Führung
        <Option value="6">  Kabarett
        <Option value="7">  Kids
        <Option value="8">  Kino
        </select><br><br>
      </form></td></tr>
      <tr><td align="center">

      <?php
      echo <<< formtext
      <form action="$PHP_SELF" method="post">
      <input type="hidden" name="sichtadr" value="Adressen">
      <input type="submit" name="adr" value="Adressen">
      </form>
      <form action="$PHP_SELF" method="post">
      <input type="hidden" name="sichtver" value="Veranstaltungen">
      <input type="submit" name="ver" value="Veranstaltungen">
      </form>
      </td></tr>
      </table>
      </body>
      </html>
      formtext;

      if (isset($sichtadr))
      {include ("kontakt.php");
       $result = mysql_query("SELECT * FROM kunden ");
       $idk_num = mysql_num_rows($result);
       $anz = mysql_num_fields($result);

      echo "<table width=90% border=1 cellpadding='2' cellspacing='2'>";
        echo "<tr bgcolor=#FFFFFF>";
       for($i=0;$i<$anz;$i++)
       { echo "<th>";
         echo mysql_field_name($result,$i);
         echo "</th>";
       }
         echo "</tr><tr>";

      $i=0;
       $j=0;
       while($idk_num>$i && $j<20)
       {$idk = mysql_result($result,$i,"idk");
        $name = mysql_result($result,$i,"name");
        $vorname = mysql_result($result,$i,"vorname");
        $firma = mysql_result($result,$i,"firma");
        $str = mysql_result($result,$i,"str");
        $hnr = mysql_result($result,$i,"hnr");
        $ort = mysql_result($result,$i,"ort");
        $plz = mysql_result($result,$i,"plz");
        echo "<tr>";
        echo "<td>$idk</td><td>$name</td><td>$vorname</td>";
        echo "<td>$firma</td><td>$str</td><td>$hnr</td>";
        echo "<td>$ort</td><td>$plz</td>";
        echo "</tr>";
        ++$i;
        ++$j;
       }
       echo "</tr>";
       echo "</table>";
      }

      else
      {include ("kontakt.php");
       $result = mysql_query("SELECT * FROM veranstaltungen");
       $idk_num = mysql_num_rows($result);
       $anz = mysql_num_fields($result);

      echo "<table width=90% border=1 cellpadding='2' cellspacing='2'>";
        echo "<tr bgcolor=#FFFFFF>";
       for ($i=0;$i<$anz-1;$i++)
       { echo "<th>";
         echo mysql_field_name($result,$i);
         echo "</th>";
       }
         echo "</tr><tr>";

      $i=0;
       $j=0;
       while($idk_num>$i && $j<20)
       {$idk = mysql_result($result,$i,"idk");
        $datum = mysql_result($result,$i,"datum");
        $tag = mysql_result($result,$i,"tag");
        $zeit = mysql_result($result,$i,"zeit");
        $was = mysql_result($result,$i,"was");
        $info1 = mysql_result($result,$i,"info1");
        $info2 = mysql_result($result,$i,"info2");
        $wo = mysql_result($result,$i,"wo");
        $ort = mysql_result($result,$i,"ort");
        $str = mysql_result($result,$i,"str");
        $hnr = mysql_result($result,$i,"hnr");
        $aktiv = mysql_result($result,$i,"aktiv");
        $takt = mysql_result($result,$i,"takt");
        $highlight = mysql_result($result,$i,"highlight");
        $region = mysql_result($result,$i,"region");
        $rubrik1 = mysql_result($result,$i,"rubrik");
        echo "<tr>";
        echo "<td>$idk</td><td>$datum</td><td>$tag</td>";
        echo "<td>$zeit</td><td>$was</td><td>$info1</td>";
        echo "<td>$info2</td><td>$wo</td><td>$ort</td>";
        echo "<td>$str</td><td>$hnr</td><td>$aktiv</td>";
        echo "<td>$takt</td><td>$highlight</td><td>$region</td>";
        echo "<td>$rubrik1</td>";
        echo "</tr>";
        ++$i;
        ++$j;
       }
       echo "</tr>";
       echo "</table>";
      }
      ?>

      So vielleicht ist es jetzt besser zu verstehen.
      Der Nutzer wählt also zwischen den o.g. 8 verschiedenen Gruppen aus. Wenn er ausgewählt hat, werden ihm nur die Adressen oder die Veranstaltungen (je nachdem welchen Button er benutzt) der jeweiligen Gruppe angezeigt.

      Mein Problem ist php klar zu machen, welche Gruppe er ausgewählt hat.

      So ich hoffe, es ist jetzt etwas verständlicher.
      Danke.
      Joan

  2. //kolpexitäten bestimmen das leben...

    $SQLSelect = "SELECT * from tablename WHERE gruppe LIKE 'A';";
    $SQLQuery = mysql_query($SQLSelect);
    if($SQLQuery)
    {
      while($SQLResult = mysql_fetch_row($SQLQuery))
      {
     if($SQLResult[$ZuDurchsuchendeSpalte] == "suchwert")
          $Trefferliste .= "Datensatz mit id:".$SQLResult[0]." stimmt ueberein !<br>";
    }

    echo $Trefferliste;

    // habe dein problem allerdings nicht wirklich verstanedn...

  3. Hallo,

    ich danke uschi und comunicout für ihr hilfe.

    Hab das auch alles verstanden.
    Aber mein Problemchen ist jetzt, dass der Nutzer mit Hilfe einer selcet-html-Funktion zwischen A,B und C auswählen kann. Wie bekomm ich denn dann raus, was der Kunde ausgewählt hat?
    Muss ich das irgendwo Zwischenspeichern?

    Nochmals Danke.
    Joan

    1. Also:
      In deiner Select-Liste muß jede Option mit dem entsprechenden value-Attribut versehen sein:
      <select name="groups">
      <option value="A">Gruppe A</option>
      <option value="B">Gruppe B</option>
      <option value="C">Gruppe C</option>
      </select>

      Nach abschicken des Formulars steht dir dann die Variable $groups zur Verfügung, wenn dein Userlein auch etwas ausgewählt hat. Der Wert ist der des value_Attributs. Hat Userlein allerdings nix ausgewählt, existiert auch die Variable $groups nicht.

      Wenn sie existiert, kannst du also dein SQL-Statement so formulieren:

      $result  mysql_query("SELECT * FROM tabellenName WHERE grp='$groups'");

      verstanden?

      liebe grüße, uschi

      1. Nach abschicken des Formulars steht dir dann die Variable $groups zur Verfügung, wenn dein Userlein auch etwas ausgewählt hat.

        Mhm komm ich nicht irgendwie schon vorher an die auswahl? also bevor der das formular begeschickt hat? weil wenn er es abschickt, dann sollen drunter ja schon die adressen erscheinen.

        oder soll ich das fenster, dann einfach neu leaden lassen?
        (Pst: Wie macht man das in php?)

        verstanden?

        Ja :-)

        DANKE!
        Liebe Grüße,
        Joan

  4. hi ;)

    ok ich stelle mir vor du hast in etwa folgenden code ...

    <select name="meinegruppe">
    <OPTION value="">- Bitte Gruppe wählen -</OPTION>
    <option value="A">A
    <option value="B">B
    <option value="C">C
    </select>

    du kannst dann direkt in deinem sql-statement etwas wie

    "SELECT ... FROM ... WHERE grp='$meinegruppe'"

    machen.
    die variable $meinegruppe hat den gleichen namen wie dein select-feld ... du kannst so alle felder direkt ansprechen, ob es nun textboxen, hidden fields oder normale textfelder sind.

    viel erfolg ;)