Ben (radyo düğmeleri ve seçer) formları kullanıcı girişi için PHP değerleri nasıl yukarı diyorsunuz

2 Cevap php

Tamam bu yüzden benim yönetici oluşturulmuş bir kitap düzenlemek için ayarlar. Ben başlangıçta 'bookname' gibi basit bir metin alanına yoluyla girilen değerlere getirmek için biliyorum. Düzenleme kitap sayfasına kitap adı alanı (ne istiyorum ki! :)) Alanında şu anda atanmış 'bookname' saklar

Ben seçer ve radyo düğmesi girişleri gibi diğer alan türleri var ... Ancak ben sorun kitap oluşturulduğunda zaten ayarlanmış değeri çağrı yaşıyorum.

Örneğin, ben gibi radyo düğmesi girişleri olarak ayarlanmış bir 'booklevel' alanı vardır; , Sert Normal ve kolay. Kullanıcı kitabı düzenlemek için gittiğinde, ben şimdiki değeri kadar çekilmiş (onun metin olarak depolanır) ve radyo düğmesi kontrol ediliyor olması nasıl çok emin değilim. Yani Bu kitabın oluşturulduğunda ne ayarlanmış ise 'Normal' kontrol edilir. Şimdiye kadar ben ekleyerek kitabı düzeyi için kod olarak bu var:

<label>Book Level:</label> <label for="booklevel1" class="radio">Hard
<input type="radio" name="booklevel" id="booklevel1" 
value="<?php echo 'Hard'; if (isset($_POST['booklevel'])); ?>"></label>

<label for="booklevel2" class="radio">Medium<input type="radio" name="booklevel"
id="booklevel2" 
value="<?php echo 'Normal'; if (isset($_POST['booklevel'])); ?>"></label>

<label for="booklevel" class="radio">Low<input type="radio" name="booklevel"
id="booklevel3" 
value="<?php echo 'Easy'; if (isset($_POST['booklevel'])); ?>"></label>

Bu, tüm kullanıcının kitabı ekler arada çalışıyor ... Ama kimse benim güncelleme kitap şeklinde, ben ayarlanmış olan ne düzeyde değerini çizebilirsiniz biliyorum, ve kutu işaretli var mı? Metin alanlarında değerleri çizmek için, ben sadece kullanıyorum:

<?php echo $row['bookname']?>

Benim Seç seçenekleri için değerleri çağırdığınızda ben de küçük bir sorun fark ettim. Ben aşağı damla alan seç ekran şu anda belirlenen kullanıcı (! Kitap okumak), ancak, açılan menüden tekrar aşağı seçmek için listede kullanılabilir seçenekleri kullanıcı görüntüler var - temelde listesinde görünen aynı isimlerden 2 anlam! SEÇİLMİŞ seçeneğin değerini ortadan kaldırmak için bir yolu var mı? Şimdiye kadar bu benim kurulum gibidir:

<select name="user_id" id="user_id">


        <option value="<?php echo $row['user_id']?>" SELECTED><?php echo $row['fullname']?></option>

         <?php  
     while($row = mysql_fetch_array($result))
  { ?>      <option value="<?php echo $row['user_id']?>"><?php echo $row['name']?></option>
        <?php } ?>

        </select>

Herkes bana yardımcı olabilir ben çok minnettar olacağım. Inanılmaz uzun soru için özür dilerim! :)

2 Cevap

Dize DB 'işaretli' olarak ayarlayın sonra (kolay, normal, zor) ve checked alan depolanan görmek için kontrol edin. Örneğin:

<label>Book Level:</label> <label for="booklevel1" class="radio">Hard
<input type="radio" name="booklevel" id="booklevel1" 
value="hard" <?php if($row['booklevel'] == 'hard') echo 'checked="checked"'; ?>></label>

Ikinci kısmına gelince - Eğer while döngüsü girmeden önce geçici bir değişkene $row['user_id'] ilk değerini saklamak gerekir. O zaman eşit olup olmadığını belirlemek için aldığınız her ek user_id kontrol edin. Eğer durum bu ise, onun seçeneği baskı yok. Şöyle:

<?php

$tmp = $row['user_id'];
while($row = mysql_fetch_array($result)) {
    if($row['user_id'] != $tmp) {
        echo '<option value="'.$row['user_id'].'">'.$row['name'].'</option>';
    }
}

?>

Geçerli düğmenin değeri zaten değerini eşleşirse radyo düğmeleri için, sadece niteliği checked="true" ekleyin. Açılan için, option orada var, ama bunun yerine radyo düğmeleri gibi aynı tekniği kullanabilirsiniz, fakat selected="true" ilk kullanmayın.