Ankündigung

Einklappen
Keine Ankündigung bisher.

dynamische double-combo

Einklappen

Neue Werbung 2019

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

  • dynamische double-combo

    Hi Leute,
    ich hoffe auf Hilfe von Euch, da ich vor lauter Bäumen den Wald nicht mehr sehe.
    Folgendes Problem liegt an:
    Ich möchte eine dynamische “double combo“ mit folgendem script erstellen:

    Code:
    <html>
    <body>
     
    <?
    $Region="Frankreich" 
    $server = "localhost";
    $datenbank = "ddtest";
    $sql = mysql_connect($server,$user,$pass) or die ("Keine Verbindung möglich. Prüfen Sie die Zugangsdaten oder wenden Sie sich an den Administrator.");
    $db=mysql_select_db($datenbank,$sql) or die ("Die Datenbank existiert nicht. Prüfen Sie die Schreibweise oder wenden Sie sich an den Administrator.");
    $result = mysql_db_query($datenbank,"SELECT distinct stadt from linkliste where region='".$Region."' order by stadt" );
    $row = mysql_fetch_array($result);
    $startwert=$row["stadt"];
    ?>
    <form action="<?echo $PHP_SELF?>" method="post">
    <select name="hg" onchange="document.forms[0].submit()">
    <?
    echo '<option value="'.$row["stadt"].'" ';
    if($HTTP_POST_VARS["hg"] and $HTTP_POST_VARS["hg"]==$row["stadt"])
    echo 'selected';
    echo'>'.$row["stadt"];
    while($row = mysql_fetch_array($result))
    {
    echo '<option value="'.$row["stadt"].'" ';
    if($HTTP_POST_VARS["hg"] and $HTTP_POST_VARS["hg"]==$row["stadt"])
    echo 'selected';
    echo'>'.$row["stadt"];
    }
    ?>
    </select>
    <select name="ug" onchange="self.location.href=this.options[this.selectedIndex].value">
    <option value="">----Auswahl
    <?
    $sb=$startwert;
    if($HTTP_POST_VARS["hg"])
    $sb=$HTTP_POST_VARS["hg"];
    $result = mysql_db_query($datenbank,"SELECT * from linkliste where stadt='".$sb."'");
    while($row = mysql_fetch_array($result))
    {
    echo '<option value="'.$row["art"].'">'.$row["art"];
    }
    ?>
    </form>
    </body>
    </html>
    In phpmyadmin habe ich eine Datenbank mit Namen “ddtest“ und eine Tabelle mit Namen “linkliste“ angelegt.
    Die “linkliste“ sieht so aus:
    region I stadt I art und enthält folgende Daten:

    Frankreich I Paris I http://www.paris1.de
    Frankreich I Nantes I http://www.nantes1.de
    Frankreich I Paris I http://www.paris2.de
    Frankreich I Nantes I http://www.nantes1.de
    usw.

    Nun zum eigentlichen Problem: In der ersten combo wird alles (stadt) ordnunggemäß augegeben, in der zweiten combo erscheint nur “-----Auswahl“, sonst nichts.
    Was mache ich falsch?
    Airis

  • #2
    wird nach der Auswahl der Stadt im 2. Combotext nichts angezeigt?

    Ps.: ein wenig Ordnung in deinem Code wäre gut

    Kommentar


    • #3
      Code:
      <html>
      <body>
      
      <?php
      $mysql["server"]   =  'localhost';
      $mysql["datenbank"]=  'ddtest';
      $mysql["user"]     =  'ddtest';
      $mysql["passwd"]   =  'ddtest';
      
      $Region="Frankreich"
      
      @mysql_connect($mysql["server"],$mysql["user"],$mysql["passwd"]) or die ("Keine Verbindung möglich. Prüfen Sie die Zugangsdaten oder wenden Sie sich an den Administrator.");
      @mysql_select_db($mysql["datenbank"]) or die ("Die Datenbank existiert nicht. Prüfen Sie die Schreibweise oder wenden Sie sich an den Administrator.");
      //wiese selektierst du eine Datenbank und machst anschließend nur DB-Querys?
      $row  = mysql_query("SELECT DISTINCT stadt FROM linkliste WHERE region='".$Region."' ORDER BY stadt");
      $row2 = mysql_fetch_array($row);
      $startwert=$row2["stadt"];
      ?>
      
      <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
        <select name="hg" onchange="document.forms[0].submit()">
        <?php
          echo '<option value="'.$row2["stadt"].'" ';
          if($_POST["hg"] && $_POST["hg"]==$row2["stadt"]) echo 'selected';
          echo'>'.$row2["stadt"];
          while($row3=mysql_fetch_array($row)){
            echo '<option value="'.$row3["stadt"].'" ';
            if($_POST["hg"] && $_POST["hg"]==$row3["stadt"])
            echo 'selected';
            echo'>'.$row3["stadt"];
          }
        ?>
        </select>
        <select name="ug" onchange="self.location.href=this.options[this.selectedIndex].value">
          <option value="">----Auswahl
          <?php
          $sb=$startwert;
          if(isset($_POST["hg"]) && !empty($_POST["hd"]) $sb=$HTTP_POST_VARS["hg"];
          $result = mysql_query("SELECT art FROM linkliste WHERE stadt='".$sb."'");
          echo '';
          while($row4=mysql_fetch_array($result)){
            echo '<option value="'.$row4["art"].'">'.$row4["art"];
          }
        ?>
      </form>
      </body>
      </html>
      rein logisch müsste das gehen. Außer du hast keine Daten oder Groß und KleInsChrEibuNg durcheinander gebracht

      Kommentar

      Lädt...
      X