• 08-07-2019, 14:46:08
    #1
            <div class="form-group">
    <label for="input-1">Ekip Üyelerini Seç</label>
    <select name="ekip_uyeler[]" class="multi-select" multiple="multiple" id="my_multi_select3">
    <?php
    $ekip_uyeleri = $db->query("SELECT * FROM uyeler")->select();
    if($ekip_uyeleri==true){
    foreach ($ekip_uyeleri as $key => $uyeler) {
    ?>
    <option value="<?=$uyeler['uye_id']; ?>"><?=$uyeler['uye_isim'].' '.$uyeler['uye_soyisim']; ?></option>
    <?php
    }
    }
    ?>
    </select>
          </div>
    Bu kod ile alıyorum bilgilerimi ve array ı serialize edip veritabanına yazıyorum fakat oradan geri çektiğim de düzenleme ekranında seçilmiş olanları belirtmem gerekiyor onu beceremedim bir türlü
  • 08-07-2019, 14:55:13
    #2
    GET değeri olduğunu düşünürsek (örnek adres.com/uyeduzenle?id=1)

    Buradan $ekip_uyeleri değişkeninde yer alan sorguyu WHERE ile GET'ten aldığınız ID'yi yazarak çekebilirsiniz.

    Ayrıca bkz: https://www.w3schools.com/tags/att_option_selected.asp
    Veritabanı kontrolüyle eşleşiyor ise selected yapmanız gerekiyor.
  • 08-07-2019, 14:56:49
    #3
    Mantık yürütebilmeniz açısından

    <div class="form-group">
    <label for="input-1">Ekip Üyelerini Seç</label>
    <select name="ekip_uyeler[]" class="multi-select" multiple="multiple" id="my_multi_select3">
    <?php
    $ekip_uyeleri = $db->query("SELECT * FROM uyeler")->select();
    $secilenUyeId = $db->query("SELECT uye_id FROM uyeler where secilen = true")->select();
    if($ekip_uyeleri==true){
    foreach ($ekip_uyeleri as $key => $uyeler) {
    ?>
    if($uyeler['uye_id']!=$secilenUyeId){
    <option value="<?=$uyeler['uye_id']; ?>"><?=$uyeler['uye_isim'].' '.$uyeler['uye_soyisim']; ?></option>
    }
    else{
    <option value="<?=$uyeler['uye_id']; ?>"><?=$uyeler['uye_isim'].' '.$uyeler['uye_soyisim']; selected></option>
     }
    <?php
    }
    }
    ?>
    </select>
    </div>
  • 08-07-2019, 15:12:17
    #4
    p0se1don adlı üyeden alıntı: mesajı görüntüle
    Mantık yürütebilmeniz açısından

    <div class="form-group">
    <label for="input-1">Ekip Üyelerini Seç</label>
    <select name="ekip_uyeler[]" class="multi-select" multiple="multiple" id="my_multi_select3">
    <?php
    $ekip_uyeleri = $db->query("SELECT * FROM uyeler")->select();
    $secilenUyeId = $db->query("SELECT uye_id FROM uyeler where secilen = true")->select();
    if($ekip_uyeleri==true){
    foreach ($ekip_uyeleri as $key => $uyeler) {
    ?>
    if($uyeler['uye_id']!=$secilenUyeId){
    <option value="<?=$uyeler['uye_id']; ?>"><?=$uyeler['uye_isim'].' '.$uyeler['uye_soyisim']; ?></option>
    }
    else{
    <option value="<?=$uyeler['uye_id']; ?>"><?=$uyeler['uye_isim'].' '.$uyeler['uye_soyisim']; selected></option>
     }
    <?php
    }
    }
    ?>
    </select>
    </div>
    Seçilenler de birden fazla hocam tek değil. Sizin verdiğiniz kod da tek bir tane olursa geçerli bir sistem anladığım kadarıyla.
  • 08-07-2019, 20:48:51
    #5
    Foreach içinde if ile seçili üyeleri eklerken selected eklemeniz yeterli olur.
  • 08-07-2019, 21:52:09
    #6
    coder63 adlı üyeden alıntı: mesajı görüntüle
    Foreach içinde if ile seçili üyeleri eklerken selected eklemeniz yeterli olur.
    Yapmak istediğim oydu hocam array_in ile yapabiliyormuşum onunla hallettim