Archiv verlassen und diese Seite im Standarddesign anzeigen : 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....
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 :)
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..
$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">';
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(); ?>
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ück</a></td></tr>";
echo'</table></form></body></html>';
}
mysql_close($db);
?>
===============================
das geht auch nicht... der interpretiert den code nicht richtig.. weiss auch nicht.. naja egal... trotzdem vielen dank...
???
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 :(
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.
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ä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
|
-
- |