v2.5.2
Giriş yap

Option valu tekrar eden değer

rephp7
778 defa görüntülendi

merhaba yazı dilini option value değeri vererek seçim yapıyorum.
fakat düzeltme sayfasında seçili getirirken fazladan insert edilmiş değeri tekrarlıyor

 <select id="inputStatus" class="form-control is-info" name="mdil">
 <?php
  $dilkontrol = ($veri[0]["mdil"] == 1) ? 'Türkçe' : 'İngilizce';
  ?>

 <option class="bg-info" selected value="<?= $veri[0]["mdil"] ?>"> <?= $dilkontrol ?></option>

 <option value="1">Türkçe</option>
 <option value="2">İngilizce</option>
 </select>
 </div>

Yapıyı nasıl düzeltirim. dil adlarını veri tabanına yollamak istemedim
ama yukardaki düzeltme sayfasında eğer veri tabanından 1 değeri gelirse

Türkçe
Türkçe
İngilizce

şeklinde dropdown da iki defa türkçe yer alıyor
doğru kullanım nedir?

Cevap yaz
Cevaplar (5)
makifgokce
1252 gün önce

<option> taglarını sil yerine bunları yaz

<option <?=($veri[0]["mdil"] == 1) ? 'class="bg-info"' : null?> <?=($veri[0]["mdil"] == 1) ? 'selected' : null?> value="1">Türkçe</option>
<option <?=($veri[0]["mdil"] == 2) ? 'class="bg-info"' : null?> <?=($veri[0]["mdil"] == 2) ? 'selected' : null?> value="2">İngilizce</option>
rephp7
1252 gün önce

@makifgokce, @tayfunerbilen teşekkürler.

@makifgokce hocam, benim hatammış, düzeltince çalıştı sağolun.

makifgokce
1252 gün önce

$veri[0]["mdil"] den gelen veri türkçe ise 1 ingilizce ise 2 geliyorsa sorunsuz çalışması lazım

rephp7
1252 gün önce

@makifgokce denedim ilk değeri getiriyor, doğrusunu mavi renkle belirtiyor ama dropdownda üste çıkarmıyor.
mesala dil ingilizce ama görüşünüşte türkçe üstte geliyor. dikkat etmezsem türkçe yi yollar hatalı olur.

tayfunerbilen
1252 gün önce
<?php
$langs = [
    1 => 'Türkçe',
    2 => 'İngilizce'
];
?>
<select>
    <option value="">Dil Seçin</option>
    <?php foreach($langs as $key => $lang): ?>
    <option <?=$veri[0]["mdil"] == $key ? ' selected' : null ?> value="<?=$key?>"><?=$lang?></option>
    <?php endforeach; ?>
</select>

Dillerini bir dizide tutup foreach ile dönerken bunu otomatik kontrol edebilirsin.

Not: İngilizcenin değerinin 2 olduğunu varsaydım kendine göre ayarlarsın.