Php güncelleme işleminde checkbox ve selectbox seçili gelmiyor?
Arkadaşlar merhaba. Text, checkbox, select karışık bir form var. Veritabanına kayıt yapabiliyorum. Text'te bir sorun yok ama select ve checkbox'ları düzenlemek istediğimde veriler checkbox'ta tik'li, selectbox'ta seçili gelmiyor. Nasıl yapılır acaba, bir örnek koyabilir misiniz?
Input'lara php ile veri basılıyorsa, input için value özelliği kullanılır ama checkbox için checked özelliği kullanılır.
Veritabanından aldığın veriyi hangi değişkenlerle aldığını bilmediğim için uyduracağım:
Tüm kayıtları çektiysen (örneğimizde Veri 1 ve Veri 3 olm.üz. 2 kayıt var) şöyle bir değişkenin var diye varsayalım:
$datas = [
["ekle_ad" => "yazilimyolcusu", "ekle_ozellik" => "Veri 1"],
["ekle_ad" => "yazilimyolcusu", "ekle_ozellik" => "Veri 3"]
];
Bu durumda ekle_ad bölümü zaten aynı olduğu için ilk kaydı alabiliriz:
$ad = $datas[0]->ekle_ad;
ekle_ozellik verilerini de düz bir dizi içinde toplarsak html içine gömmek kolaylaşır.
foreach($datas as $data) $aktifOzellikler[] = $data->ekle_ozellik;
// $aktifOzellikler dizisi şöyle oldu: ["Veri 1", "Veri 3"]
$checkbox1_attr = array_search("Veri 1", $aktifOzellikler)===false ? '' : 'checked'; // 'checked'
$checkbox2_attr = array_search("Veri 2", $aktifOzellikler)===false ? '' : 'checked'; // ''
$checkbox3_attr = array_search("Veri 3", $aktifOzellikler)===false ? '' : 'checked'; // 'checked'
<form action="x.php" method="post">
<input class="x-text" type="text" name="ad" placeholder="Ad" value="<?=$ad?>" ><br>
<input class="x-checkbox" type="checkbox" <?=$checkbox1_attr?> name="ozellikler[]" value="Veri 1" placeholder="Veri 1" ><br>
<input class="x-checkbox" type="checkbox" <?=$checkbox2_attr?> name="ozellikler[]" value="Veri 2" placeholder="Veri 2" ><br>
<input class="x-checkbox" type="checkbox" <?=$checkbox3_attr?> name="ozellikler[]" value="Veri 3" placeholder="Veri 3" ><br>
</form>
Kodları denemeden direkt buraya yazdığım için syntax hataları veya kurgusal hatalar olabilir.