Daten aus mysql Datenbank in Drop-Down Menü senden

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

  • Daten aus mysql Datenbank in Drop-Down Menü senden

    hallo leute... bin langsam am verzweifeln... ich habe eine tabelle "serverlist" mit einer spalte "hosts".... die einträge dieser spalte sollen in einem drop-down menü zur auswahl gestellt werden... wie mache ich das ?? bitte sehr ausführlich bin absoluter newbie in php...
    vielen dank im voraus....

  • #2
    Meinst du eine Selectbox ?

    so ==>
    $result=mysql_query("SELECT *FROM serverlist",$db);
    $anzahl=mysql_num_rows($result);
    for ($i=1;$i<=$anzahl;$i++)
    {
    $row = mysql_fetch_array($result,MYSQL_ASSOC);
    $list[$i] = $row["host"];
    $fids[$i] = $row["IDdesHosts"];
    }

    echo'<td>Hosts : <SELECT name="host">';
    for ($i=1;$i<=$anzahl;$i++)
    {
    echo $list[$i];
    echo '<option value='.$fids[$i].'> '.$list[$i].'</option>';
    }
    echo'</SELECT>


    so , $anzahl ist die Azahl der hosts $fids ist ein Array mit den IDs der einträge in der Datenbank, also der Primärschlüssel, damit keine doppelten vorkommen und $list sind die Hostname in klarform

    Kommentar


    • #3
      Hallo Joel... also irgendwie funkt das nicht so richtig...
      so siehts aus momentan:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      <html>
      <head>
      <title>Unbenannt</title>
      </head>
      <body>
      <?
      $conn_id = mysql_connect("localhost","root","");

      $result=mysql_query("SELECT * FROM serverlist",$serverlist);
      $anzahl=mysql_num_rows($result);

      for ($i=1;$i<=$anzahl;$i++)
      {
      $row = mysql_fetch_array($result,MYSQL_ASSOC);
      $list[$i] = $row["host"];
      $fids[$i] = $row["id"];
      }

      echo "<SELECT name="host">";

      for ($i=1;$i<=$anzahl;$i++)
      {
      echo "$list[$i]";
      echo "<option value=".$fids[$i]."> ".$list[$i]."</option>";
      }

      echo "</SELECT>";
      mysql_close();
      ?>

      </body>
      </html>


      und das bringt der browser als ausgabe:
      "; for ($i=1;$i<=$anzahl;$i++) { echo "$list[$i]"; echo " ".$list[$i].""; } echo ""; mysql_close(); ?>


      da muss irgendwo n schreibfehler sein... schau mal drüber ob der rest so funktionieren kann... danke schonmal..

      Kommentar


      • #4
        $result=mysql_query("SELECT * FROM serverlist",$serverlist); <=== $result=mysql_query("SELECT * FROM serverlist",$conn_id);


        echo "<SELECT name="host">"; ??????

        Schau mal wieviele " du da drin hast !!!

        das muss heißen ==>
        echo "<SELECT name=\"host\">";

        oder

        echo '<SELECT name="host">';

        Kommentar


        • #5
          jetzt hab ichs so.. geht immer noch nicht:
          <html>
          <head>
          <title>Unbenannt</title>
          </head>
          <body>
          <?
          $conn_id = mysql_connect("localhost","root","");

          $result=mysql_query("SELECT * FROM serverlist",$conn_id );
          $anzahl=mysql_num_rows($result);

          for ($i=1;$i<=$anzahl;$i++)
          {
          $row = mysql_fetch_array($result,MYSQL_ASSOC);
          $list[$i] = $row["host"];
          $fids[$i] = $row["id"];
          }

          echo '<SELECT name="host">';

          for ($i=1;$i<=$anzahl;$i++)
          {
          echo $list[$i];
          echo '<option value='.$fids[$i].'> '.$list[$i].'</option>';
          }

          echo '</SELECT>';
          mysql_close();
          ?>

          </body>
          </html>

          browser bringt:

          '.$list[$i].''; } echo ''; mysql_close(); ?>

          Kommentar


          • #6
            hmmm, da ist wieder ein Syntaxfehler drin, leider hab ich jetzt auch Tomaten auf den augen, also hier mal mein Orginalcode, der funzt, siehe dazu http://www.joelh.f2s.com/jbb010803/suchen.php da kannste gerne vorbau schauen. also am besten du kopierst das teil in deinen Editor und passt es deinen bedürfnissen an :

            ==================================

            <html><head><title>Suchfunktion</title></head>
            <link rel=stylesheet type="text/css" href="default.css">
            <?php
            include ('color.inc');
            include ('mysqlvar.php');
            include ('head.php');
            $db=mysql_connect($dbserver,$dbuser,$dbpass);
            if ($db)
            {
            mysql_select_db($dbname,$db);
            $result=mysql_query("SELECT fid, forenname FROM foren",$db);
            $anzahl=mysql_num_rows($result);
            for ($i=1;$i<=$anzahl;$i++)
            {
            $row = mysql_fetch_array($result,MYSQL_ASSOC);
            $list[$i] = $row["forenname"];
            $fids[$i] = $row["fid"];
            }

            echo'<form action="search.php" method="post">';
            echo'<table><tr>';
            echo'<td>Suchbegriff : <input type=text name="suche" size=10 maxlength=10></td>';
            echo'<td>Suchforen : <SELECT name="suchforen">';
            echo'<option selected value=0>Alle Foren</option>';
            for ($i=1;$i<=$anzahl;$i++)
            {
            echo $list[$i];
            echo '<option value='.$fids[$i].'> '.$list[$i].'</option>';
            }
            echo'</SELECT></td></tr>';
            echo'<tr><td>alle Begriffe finden <INPUT type="radio" checked name="welche" value=1></td><td>min. einen Begriff finden '.
            '<INPUT type="radio" name="welche" value=2></td></tr>';
            echo'<tr><td>in den Beiträgen suchen<Input type="radio" checked name="wo" value=1></td>';
            echo'<td>in den Topicnamen suchen <input type="radio" name="wo" value=2></td></tr>';
            echo '<tr><td><INPUT type="submit" value="Suche starten"></td></tr>'.
            '<tr><td><INPUT type="reset" value="löschen"></td></tr>';
            echo "<tr><td><a href=\"javascript:history.back(-1)\">Zur&uuml;ck</a></td></tr>";
            echo'</table></form></body></html>';
            }
            mysql_close($db);
            ?>


            ===============================

            Kommentar


            • #7
              das geht auch nicht... der interpretiert den code nicht richtig.. weiss auch nicht.. naja egal... trotzdem vielen dank...

              Kommentar


              • #8
                ???
                Naja bei mir funzt der Code wie du gesehen hast, ich weiss auchnicht was da nicht gehen soll, hast du auch die Datenbank richtig angelegt ? gibts die Daten ? Welchen Browser verwendest du denn, der Netscape macht ein paar mucken

                Kommentar


                • #9
                  jo daten sind da... kann auf befehlszeile ohne probleme die abfragen machen... ie 5.5 wird benutzt.... meinst du daraus kann man was machen ?

                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
                  <html>
                  <head>
                  <title>Unbenannt</title>
                  </head>
                  <body>
                  <select name="host" size=0>
                  <option>--- Wählen ---</option>
                  <?
                  mysql_connect("localhost","root","");
                  mysql_select_db("serverlist");
                  $result = mysql_query("select host from serverlist");
                  while (list ($name) = mysql_fetch_row ($result)) {
                  echo "'<option>'.$name.'</option>'";
                  }
                  mysql_close();
                  ?>
                  </select>
                  </body>
                  </html>

                  Geht zwar auch nicht aber hier ist nur das Auswahlfeld leer. Es kommt kein Fehler.

                  Kommentar


                  • #10
                    Hallo Amun,

                    probiere mal folgendes (für eine Dropdown-Box):


                    ------------------------------------------------------------------------------------------------------
                    <?
                    $host = "yourhost";
                    $user = "yourusername";
                    $pass = "yourpass";

                    mysql_pconnect ($host, $user, $pass);
                    mysql_select_db("yourdatabase");

                    $query = mysql_query ("SELECT hosts FROM serverlist ORDER BY hosts");
                    ?>

                    <form name="myhostform" method="post" action="script.php">
                    <select name="hostlist">
                    <option selected>Bitte Host w&auml;hlen...</option>
                    <?
                    while ($zeile = mysql_fetch_array($query)) {
                    $host = $zeile["host"];
                    print ("<option value=\"$host\">$host</option>");
                    }
                    ?>
                    </select>
                    <input type="submit" name="Abschicken" value="Anfrage starten...">
                    </form>

                    ------------------------------------------------------------------------------------------------------

                    So müsste es meiner Theorie nach klappen!

                    Hoffe, Du hast damit Erfolg!

                    Cu,
                    Sascha


                    Kommentar

                    Lädt...
                    X