Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Daten aus mysql Datenbank in Drop-Down Menü senden [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Daten aus mysql Datenbank in Drop-Down Menü senden


 
Amun
13-08-2001, 11:35 
 
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....

 
JoelH
13-08-2001, 12:21 
 
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 :)

 
Amun
13-08-2001, 13:10 
 
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..

 
JoelH
13-08-2001, 13:35 
 
$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">';

 
Amun
13-08-2001, 13:52 
 
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(); ?>

 
JoelH
13-08-2001, 14:55 
 
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);
?>


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

 
Amun
13-08-2001, 15:20 
 
das geht auch nicht... der interpretiert den code nicht richtig.. weiss auch nicht.. naja egal... trotzdem vielen dank...

 
JoelH
13-08-2001, 21:07 
 
???
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 :(

 
Amun
14-08-2001, 07:49 
 
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.

 
saschak
14-08-2001, 09:39 
 
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

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:32 Uhr.