Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Kombinationsfelder mit DB daten füllen
Frage
hallo leute,
ich habe folgende problem:
mein kombinationsfeld möchte ich mit daten aus der DB füllen.
Es funktioniert wenn ich so mache:
/* Beispiel für ProductName */
<form>
<?php
$host= "WATCHDOG\ADMINDB";
$user= "sa";
$password= "pw";
$db_name = "SKDatabase";
// Database Verbindung mit MSSQL-Server
$conn_id = mssql_connect($host,$user,$password);
mssql_select_db($db_name,$conn_id);
$Qry = "SELECT ProductName
FROM Software
WHERE ProductName NOT LIKE ´%Hotfix%´
ORDER by ProductName";
$result= mssql_query($Qry);
echo "<select>";
while($row= mssql_fetch_assoc($result)){
$machinename = $row[ProductName];
echo "<option>";
echo $machinename;
}
echo"</select>";
?>
</form>
aber ich möchte gerne dass ich mit dieser ComboBox meine DB abfragen kann und dann sieht in etwa so aus:
/* Beispiel für DOMAIN*/
<table width="600px" border="2" align="center" cellpadding=2 cellspacing=2 bordercolor=002152 bgcolor=#ccccff style="color: #660033;">
<tr bordercolor="#003366">
<th scope="col">
<div align="left">
<form method="get" action="test1.php" name="domain">
<select name="dom" onchange="document.domain.submit();" style="width:200px; color:#660033; background-color:#CCCCFF; font-size:9pt; font-family:Arial,sans-serif;"width="200">;
<option>++Bitte auswählen++</option>
<option>CADFEM</option>
</select>
</form>
<tr>
<td bgcolor=#9999cc width=20% align=left><h2align="center">Domain</h2></td>
<?php
$host= "WATCHDOG\ADMINDB";
$user= "sa";
$password= "pw";
$db_name = "SKDatabase";
// Database Verbindung mit MSSQL-Server
$conn_id = mssql_connect($host,$user,$password);
mssql_select_db($db_name,$conn_id);
$Qry = "SELECT Distinct DomainName,
FROM MachineGroup
WHERE Software.Publisher LIKE ´".$publ."%´ "”;
$result= mssql_query($Qry);
while($row= mssql_fetch_assoc($result)){
$publisher = $row[Publisher];
$ver = $row[VersionString];
$prodname = $row[ProductName];
$machinename = $row[MachineName];
$domain = $row[DomainName];
print"<tr width = 100%>
<td width = 100%>$domain</td>
</tr>";
}
?>
<?php
$dom = "$dom";
echo "Option: " .$dom;
?>
aber so kann ich meine ComboBox nicht mit daten aus der DB füllen.
Ich habe so probiert aber keine erfolg:
<form method="get" action="test1.php" name="software">
<?php
$host= "WATCHDOG\ADMINDB";
$user= "sa";
$password= "pw";
$db_name = "SKDatabase";
// Database Verbindung mit MSSQL-Server
$conn_id = mssql_connect($host,$user,$password);
mssql_select_db($db_name,$conn_id);
$Qry = "SELECT ProductName
FROM Software
WHERE ProductName NOT LIKE ´%Hotfix%´ and domain LIKE ‘”.$dom.”%’
$result= mssql_query($Qry);
echo "<select name="software" onchange="document.software.submit();" style="width:150px; color:#660033; background-color:#CCCCFF; font-size:9pt; font-family:Arial,sans-serif;"width="200">";
while($row= mssql_fetch_assoc($result)){
$domain = $row[domain];
echo "<option>";
echo $domain;
}
echo"</select>";
?>
</form>
also in groß und ganze möchte ich dass ich mein ComboBox mit daten aus der DB fülle und dann mir diese werte aus der ComboBox meine DB abfragen kann.
natürlich werden die ausgewählten werte in eine variable gespeichert und dann in das WHERE Klausel eingefügt.
SELECT .... FROM tabelle WHERE meinfeld LIKE ‚“.$var.”%’;
Wenn jemand helfen kann ware schön.
Vielen Dank im voraus
Mit freundlichen Grüßen f_mal
Antwort 1 von disco
moin
ist mir etwas viel code. weiss auch nicht ganz genau was du willst. schätze mal du meinst mit "combobox" ein dropdown menü.
was ist denn jetzt genau dein problem? bekommste die datenbankeinträge nicht ins dropdownmenü, oder kannste sie nicht auslesen.?
das option-tag sieht muss für die übermittlung von werten übrigens so ausehen:
<option value=´EinWert´>Der sichtbare Eintrag.</option>
g,
disco
ist mir etwas viel code. weiss auch nicht ganz genau was du willst. schätze mal du meinst mit "combobox" ein dropdown menü.
was ist denn jetzt genau dein problem? bekommste die datenbankeinträge nicht ins dropdownmenü, oder kannste sie nicht auslesen.?
das option-tag sieht muss für die übermittlung von werten übrigens so ausehen:
<option value=´EinWert´>Der sichtbare Eintrag.</option>
g,
disco
Antwort 2 von f_mal
morgen,
also in groß und ganze möchte ich dass ich mein Dropdown-Menü mit daten aus der DB fülle und dann mir die werte aus der ComboBox meine DB abfragen kann.
natürlich werden die ausgewählten werte in eine variable gespeichert und dann in das WHERE Klausel eingefügt.
z.B.
SELECT .... FROM tabelle WHERE meinfeld LIKE ‚“.$var.”%’;
wenn die Dropdown-Menü gefüllt ist dann möchte ich dass durch auswahl einer eintrag (aus der Dropdown-Menü) meine SQL-Abfrage ausgeführt wird und die Abfrage ergebnis auslesen kann.
mfg. f_mal
also in groß und ganze möchte ich dass ich mein Dropdown-Menü mit daten aus der DB fülle und dann mir die werte aus der ComboBox meine DB abfragen kann.
natürlich werden die ausgewählten werte in eine variable gespeichert und dann in das WHERE Klausel eingefügt.
z.B.
SELECT .... FROM tabelle WHERE meinfeld LIKE ‚“.$var.”%’;
wenn die Dropdown-Menü gefüllt ist dann möchte ich dass durch auswahl einer eintrag (aus der Dropdown-Menü) meine SQL-Abfrage ausgeführt wird und die Abfrage ergebnis auslesen kann.
mfg. f_mal
Antwort 3 von Gelangweilt
echo "<select name="software" onchange="document.software.submit();" style="width:150px; color:#660033; background-color:#CCCCFF; font-size:9pt; font-family:Arial,sans-serif;"width="200">";
samma? Wirft dein PHP-Parser bei sowas keine Fehler aus?
Wenn Du bei echo HTML reinpackst, dann solltest Du die Anführungszeichen in den HTML-Tags auch "formatieren". Also in dieser Form:
echo "<select name=\"software\" onchange=\"document.software.submit();\" style=\"width: 150px; [...] \">"; ... und ansonsten noch zu Deinem Problem: Schau Dir das an, was disco geschrieben hat. Zitat:
<option value=´EinWert´>Der sichtbare Eintrag.</option> echo "<option value=\"".$row["domain"]."\"> Hier dann das, was man im Dropdown sehen soll</option>"; gelangweilte Grüße.

