Supportnet Computer
Planet of Tech

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

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

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.