Bir doldurmak için PHP kullanarak?

6 Cevap
<select name="select">

</select>

Ben veritabanından değerleri ile yukarıdaki etiketi doldurmak istiyor.

Ben bu kadar php kodu yazdım.

while($row=mysql_fetch_array($result))
{

}

$ Satır <select> eklemek için nasıl .. doğru değerleri getiriliyor getiriliyor

yardım lütfen ... programlamaya yeni Am

6 Cevap

Ne bu böyle bir şey:

echo '<select name="select">';
while($row=mysql_fetch_array($result))
{
    echo '<option value="' . htmlspecialchars($row['column_for_value']) . '">' 
        . htmlspecialchars($row['column_for_label']) 
        . '</option>';
}
echo '</select>';

Tabii ki, karar vermek kadar $row değeri ve her <option> metni için kullanılması gerektiğini den hangi ürün


Just make sure you are escaping the data that comes from your DB -- especially if it can contain HTML ; as you are outputting HTML, this can be done with htmlspecialchars or htmlentities.

Bu kullandığınız charset bağlı, yararlı olabilir ayarı - bu benim örnekte kullanmak vermedi additionnal parametrelerin bir çift sürebilir unutmayın.

Arada yaparak kullanmak için neyin müsait görebilirsiniz:

var_dump($result);
exit;

İşte ilk sonuç ve dizi içeriğini basacaktır. Sonra seçeneğini doldurmak için kullanmak istediğiniz alanı görebilirsiniz. Oradan, senin gibi bir şey olacaktır:

foreach ($result['field'] as $field) {
   print '<option value="'.$field.'">$field</option>';
}

Tabii ki bu çok temel bir örnek, ve diğerleri de belirtildiği gibi bir form içine koymadan önce verileri temizlemek isteyebilirsiniz.


$selected_value="selected_value";
echo '<select name="select">';
while($row=mysql_fetch_array($result))
{
    if($selected_value==htmlspecialchars($row['column_for_value']))
    $selected=' selected';
    else
    $selected='';
    echo '<option value="'.htmlspecialchars($row['column_for_value']).'"'.$selected.'>'
    .htmlspecialchars($row['column_for_label']).
    '</option>';
}
echo '</select>';

Bazı önceden tanımlanmış değer otomatik seçimi için Pascal MARTIN kod bazı eklenmesi,

Ben bu son girişi editied ve mükemmel çalışıyor. Kullanıcı açılan kararıyor formu gönderdi zamanlar var şimdi sadece güçlük ... herkes basit bir çözüm biliyor mu

echo '<select name="course" id="course" >';
                while( $option = mysql_fetch_array($course_results)) {
echo "<option    value=".htmlspecialchars($option['cid']).">".htmlspecialchars($option['cname'])."</option>";
}
echo "</select>";

Yukarıdaki tüm cevaplar çalışır, ancak doğru değildir ve ekstra çalışma gerektirir. Sen ekrana çıktı echo kullanmak gerekir ve bunu yapmak zorunda değilsiniz. Aşağıdaki örnek veri içeren nesneleri kullanarak, ancak fikir olsun varsayar.

<select name="sales_person">
        <?php foreach ($sales_people as $sales_person){?>
            <option value="<?=$sales_person->first_name?> <?=$sales_person->last_name?>"><?=$sales_person->first_name?> <?=$sales_person->last_name?></option>
        <?php }?>
        </select>

Eğer olmanın nokta html echo zorunda değilsiniz

echo '<select>';
while($row=mysql_fetch_array($result)) {
  echo '<option>'.$row['whatever_index'].'</option>';
}
echo '</select>';

Eğer getiriliyor olan sütun adı 'whatever_index' değiştirin.