phpbar.de logo

Mailinglisten-Archive

Re: [php] Select Auswahlmenü

Re: [php] Select Auswahlmenü

Carsten Reitz Carsten.Reitz at gmx.net
Mon Jan 12 19:22:44 CET 2004


Hallo Martin,

Am Samstag, 10. Januar 2004 20:04 schrieb binabik [freesurf.ch]
> hallo zusammen!
>
>
> ich habe ein kleines problem und zwar möchte ich zwei select menüs
> erstellen, welche aus einer mysql datenbank herausgelesen werden.
> dabei soll die ausgabe des zweitens menüs davon abhängig sein, welche
> auswahl beim ersten select menü getroffen wurde.
>

ich habe sowas mit der gleichen Abhängigkeit  auch schon mal programmiert.
Vielleicht hilft Dir mein Quellcode etwas weiter.

In diesem Beispiel stehen die Daten in einer Tabelle Namens Produkte und die
Felder heißen Name und Modell.

Mfg
Carsten


test.php:
<?php

  $Hersteller = $_GET['Hersteller'];
  $Modell     = $_GET['Modell'];

/* Verbindung öffnen und Datenbank auswählen */
  if (!($connection = @mysql_connect(***, ***, ***)))
    die("Error " . mysql_errno() . " : " . mysql_error());

  if (!(mysql_select_db("***", $connection)))
    die("Error " . mysql_errno() . " : " . mysql_error());

/* Erste Wertetabelle lesen z.B. Hersteller */
  $liste1query = "SELECT DISTINCT Name FROM Produkte ORDER BY Name";
  $liste1      = mysql_query($liste1query, $connection);
  $anzliste1   = mysql_num_rows($liste1);

/* Die zweite Wertetabelle wird nur gelesen, wenn aus Wertetabelle 1 etwas ausgewählt wurde. */
  if ($Hersteller != "")
  {
    $liste2query = "SELECT DISTINCT Modell FROM Produkte WHERE Name = \"" . $Hersteller . "\"";
    $liste2      = mysql_query($liste2query, $connection);
    $anzliste2   = mysql_num_rows($liste2);
  }

?>

<form action=test.php method=GET >

  Hersteller ausw&aumlhlen:

  <select name="Hersteller" size="1">

<?php
  for ($i=0; $i<$anzliste1; $i=$i+1)
  {
    $wert1 = mysql_result($liste1, $i, "Name");
    if ($wert1 == $Hersteller)
    {
      echo "    <option selected value=\"" . $wert1 . "\">" . $wert1 . "</option>\n";
    }
    else
    {
      echo "    <option value=\"" . $wert1 . "\">" . $wert1 . "</option>\n";
    }
  }
  echo "  </select><br><br>";


/* Das nächste Dropdownmenue wird nur angezeigt, wenn bereits ein Hersteller
   ausgewählt wurde. */

if ($Hersteller != "" )
{
  echo "Modell ausw&aumlhlen:";

  echo "<select name=\"Modell\" size=\"1\">";

  for ($i=0; $i<$anzliste2; $i=$i+1)
  {
    $wert2 = mysql_result($liste2, $i, "Modell");
    if ($wert2 == $Modell)
    {
      echo "  <option selected value=\"" . $wert2 . "\">" . $wert2 . "</option>";
    }
    else
    {
      echo $itemfmt . "  <option value=\"" . $wert2 . "\">" . $wert2 . "</option>";
    }
  }
  echo "</select><br><br>";
}

?>

<input type="submit" value="Suchen">

</form>


php::bar PHP Wiki   -   Listenarchive