2 Stimmen

Wie kann ich den ausgewählten Wert von Dropdown-Listen mit Mysql-Daten füllen?

Ich benötige die Werte der Formulareingaben, die von der SQL-Datenbank ausgefüllt werden sollen. Mein Code funktioniert großartig für alle Text- und Textarea-Eingaben, aber ich kann nicht herausfinden, wie man den Datenbankwert den Dropdown-Listen zuweist, z. B. "Art der Eigenschaft" unten. Es dreht sich darum, die "Option ausgewählt", um den Wert in der Datenbank zu vertreten.

Hier ist mein Code:

$result = $db->sql_query("SELECT * FROM ".$prefix."_users WHERE userid='$userid'");    
$row = $db->sql_fetchrow($result);

echo "<center><font class=\"title\">"._CHANGE_MY_INFORMATION."</font></center><br>\n";
echo "<center>".All." ".fields." ".must." ".be." ".filled."  
<form name=\"EditMyInfoForm\" method=\"POST\" action=\"users.php\" enctype=\"multipart/form-data\">           
  <table align=\"center\" border=\"0\" width=\"720\" id=\"table1\" cellpadding=\"2\" bordercolor=\"#C0C0C0\">        
    <tr>                
      <td align=\"right\">".Telephone." :</td>                
      <td>
        <input type=\"text\" name=\"telephone\" size=\"27\" value=\"$row[telephone]\"> Inc. dialing codes
      </td>        
    </tr>        
    <tr>                
      <td align=\"right\">".Type." ".of." ".property." ".required." :</td>                                          
      <td>Select from list:
        <select name=\"req_type\" value=\"$row[req_type]\">                   
          <option>House</option>                  
          <option>Bungalow</option>                  
          <option>Flat/Apartment</option>                  
          <option>Studio</option>                  
          <option>Villa</option>                  
          <option>Any</option>                  
         </select>  
       </td>          
      </tr>
....

0voto

Vielen Dank an alle für ihre Hilfe. Obwohl ich keine einzige Antwort zum Funktionieren bringen konnte, hat sie mich auf Ideen gebracht, und ich habe die Aufgabe geschafft! Am Ende habe ich es auf eine langwierige Art und Weise gemacht, aber hey-ho, wenn es nicht kaputt ist, repariere es nicht.

if ($row[$req_type]=='House'){
    $sel_req_type1='selected';
}
else if ($row[$req_type]=='Bugalow'){
    $sel_req_type2='selected';
}

usw. usw. usw.

Und in der Tabelle:

<option $sel_req_type1>House</option>
<option $sel_req_type2>Bulgalow</option>

usw. usw. usw.

Ich habe noch andere Probleme zu überwinden, z. B. htmlentities für die Textfelder und die Zitierung der Array-Elemente (dh $row['req_type'] 代わりに $row[req_type] . Aber das werde ich bei einer anderen Frage fragen. Nochmals vielen Dank

-1voto

Brad Punkte 11511

Es gibt noch eine andere Möglichkeit, dies zu tun.

<?php
$query = "SELECT * FROM ".$prefix."_users WHERE userid='$userid'";
$result = mysql_query($query); ?>
$options = array('House', 'Bungalow', 'Flat/Apartment', 'Studio', 'Villa', 'Any');
<select name="venue">
<?php
    while($row = mysql_fetch_array($result)) {
        print '<option value="'.$option.'"';
        if($row['req_type'] == $option) {
            print 'selected';
        }
        print '>'.$option.'</option>';
    } 
?>
</select>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X