Nasıl bir radyo düğmesini doldurmak veya bir veritabanından düzenlerken kutusu açılır mı?

4 Cevap php

Ben bu zaten sordum birine benzer bir soru olduğunu biliyorum, ama ben bir sorun için farklı yanıtlar için umuyordum. Hepinize ince işleri, harika, Brill ace bir veritabanına yeni makaleleri yükleyebilirsiniz bir form var. Form makale türü için menü aşağı, ben kutuyu aşağı benim damla haber, dedikodu, seyahat, performanslar ve diğerleri var bir damla kullanır. Eğer db upload zaman sadece seçili öğenin, bu durumda, Haberler diyelim eklemek için gidiyor.

Ben onların makaleler edebilmek düzenleme olması kullanıcı gerekiyor, bu yüzden seçilen ürün ile açılır kutuyu doldurmak gerekir. Ben açılan öğeler ve onlar için bir kimlik, her ile bir veritabanı tablo kurmak için BUM bir ağrı biraz olduğunu düşünüyorum. Db değeri olarak seçili öğeyi ayarlamak, ve sonra sadece kullanarak uzakta olduğu bir if deyimi veya kutu aşağı damla kalanını doldurmak için bir şey?

Mantıklı umuyoruz. Ben de o db değeri ile seçilen düğmeyi ayarlamak için alınamıyor ancak bir radyo düğmelerinin kullanımı bir çözüm olabileceğini düşündüm.

4 Cevap

Böyle bir şey yapabilirsiniz:

// array of available options
$available = array('news'=>'News', 'gosip'=>'Gosip', 'travel'=>'Travel', 'performances'=>'Performance');
// selected option value
$selected = 'news';
echo '<select name="article-type">';
foreach ($available as $val => $label) {
    echo '<option value="'.htmlspecialchars($val).'"';
    if ($val == $selected) {
        echo ' selected="selected"';
    }
    echo '>'.htmlspecialchars($label).'</option>';
}
echo '</select>';

Eğer bu doğrultuda bir tablo falan yazı türlerini koymak istiyorum gibi geliyor.

Sonra tablodan aşağı açılan yükleyebilirsiniz ve sadece makale tablosunda makale türü kimliği için bir referans olarak saklamak.

Artı bu kimliği üzerinde arama yapıyor olurdum olarak biraz daha hızlı verilen bir tür tüm makaleleri alınırken yapmak gerekir.

Bu her şeyden daha bir veritabanı tasarım konudur gibi bana geliyor. Sizin temel tasarım kusurlu görünüyor. Ben kapalı bir şekilde parça yaşıyorum yani ayı ile beni senin soru sorunu anlamak için çalışıyorum.

Bu IMO, olması gerektiği gibi burada, tasarımın bir uygun kısmı, bir:

Table: Articles


ArticleID
ArticleContent
ArticleSubject (FK from Subjects)
..
..
.. Other columns.

Table: Subjects


SubjectID
SubjectDescription
..
..
.. Other columns.

Ben daha iyi benim anlamı göstermek için ikinci tablo Konular denilen unutmayın. Bu şekilde, her bir maddesi bir makale türü (konu) bir referansı var. Eğer "Madde türleri" dropdownlist için veri almak Şimdi, sadece ikinci tablodaki tüm satırları almak istiyorum, ve sonra geçerli seçimine dayalı seçili öğeyi ayarlamak olacaktır (ilk tablodan.)

$options = array(,);
$selection = filter_input(INPUT_POST, 'what');
$blah = true; //i don't know what to name this.
foreach($options as $option) {
    echo '....';
    if(isset($blah) && $option === $selection) {
        echo 'selected="selected"';
        unset($blah);
    }
}

Bu muhtemelen en hızlı yoludur. Eğer hız gidiyoruz eğer Ayrıca echo's multiple parameters. yararlanmak için emin olun