v2.5.2
Giriş yap

Nokta birleştirme operatörünün kullanımı.

zubizuretta
646 defa görüntülendi

Merhabalar. ajax yapısı ile geriye html kod döndürüyorum ve bunu modalda gösteriyorum. Modal içerisinde form var ve form'da 2 li radio form var. Veritabanından teklifStatu 1 gelirse 1 numaralı radioyu checked yapmak istiyorum. 2 gelirse 2 numaralı radioyu checked yapmak istiyorum.

nokta birleştirme operatörü ile ternary operatörü denedim ama parçalayamadım. Başka alternatif ne olabilir veya nokta operatörü ile ternaryi nasil oluşturabilirim.

<?php
    <input class="form-check-input" 
    type="radio" name="teklif-durumu" 
    id="inlineRadio11" value="1" ' . $user['musteri_teklifStatu']== 1 ? checked : '' .'>
...
..
.
?>
Cevap yaz
Cevaplar (11)
makifgokce
1447 gün önce

Anlam veremedim ama parantez içerisine alınca bende sorun çıkmadı.

<div class="col-md-6">
    <label class="form-check-label">Teklif Durumu :</label>
	<div class="form-check form-check-inline">
        <input class="form-check-input" type="radio" name="teklif-durumu" id="inlineRadio11" value="1" '. ($musterilerEdit['musteri_teklifStatu'] == 1 ? "checked" : "") .'/>
        <label class="form-check-label" for="inlineRadio11">Teklif Verildi</label>
    </div>
    <div class="form-check form-check-inline">
        <input class="form-check-input" type="radio" name="teklif-durumu" id="inlineRadio22" value="2" '. ($musterilerEdit['musteri_teklifStatu'] == 2 ? "checked" : "") .'/>
        <label class="form-check-label" for="inlineRadio22">Teklif Verilmedi</label>
    </div>                               
</div>
zubizuretta
1447 gün önce

@makifgokce teşekkür ederim hocam. Bir başka yol olarak switch case ile de çözdüm. Parantez olayını bilmem iyi oldu denedim sorun yok hocam. teşekkür ederim çözümünüz için.

zubizuretta
1447 gün önce

Kalabalık etmesin diye bazı form-groupları kaldırdım. Aydın hocam anlayamadım dediğinizi. Aşağıya şuan itibariyle attım. Olayı çözersem diğer cevap-durumu form için gerçekleştirecem.

<?php
if (isset($_POST['musteriduzenle'])) {

    $musteriEditid = $_POST['musteriduzenle'];

    $sorgu = $dbNew->prepare('SELECT * FROM musteri_takip WHERE musteri_id = ?');
    $sorgu->execute([$musteriEditid]);
    $musterilerEdits = $sorgu->fetchAll(PDO::FETCH_ASSOC);

    $html = '';

    function checkRadio($gelenValue){

        return $gelenValue == 1 ? 'checked' : '';

    };

    function checkRadio2($gelenValue){

        return $gelenValue == 2 ? 'checked' : '';

    };

    foreach ($musterilerEdits as $musterilerEdit) {

        $html .= '<div class="modal-header">
                    <h4>Müşteri Düzenleme Formu</h4>
                </div>
                <div class="modal-body">
                    <form id="guncelleForm" action="islem/islem.php" method="post" class="container">                        
                        <div class="form-group">
                            <div class="row">
                                <div class="col-md-12">
                                    <label for="">Adı Soyadı</label>
                                    <input type="text" class="form-control" name="ad-soyad"
                                           placeholder="Adı soyadı yazınız." value="' . $musterilerEdit['musteri_adSoyad'] . '" required>
                                </div>
                            </div>
                        </div> 
                        <div class="form-group">
                            <div class="row">
                                <div class="col-md-6">
                                    <label class="form-check-label" for="">Cevap Durumu :</label>

                                    <div class="form-check form-check-inline">
                                        <input class="form-check-input" type="radio" name="cevap-durumu"
                                               id="inlineRadio1" value="1">
                                        <label class="form-check-label" for="inlineRadio1">Olumlu</label>
                                    </div>
                                    <div class="form-check form-check-inline">
                                        <input class="form-check-input" type="radio" name="cevap-durumu"
                                               id="inlineRadio2" value="2">
                                        <label class="form-check-label" for="inlineRadio2">Olumsuz</label>
                                    </div>
                                    <div class="form-check form-check-inline">
                                        <input class="form-check-input" type="radio" name="cevap-durumu"
                                               id="inlineRadio3" value="0">
                                        <label class="form-check-label" for="inlineRadio3">Cevap Bekleniyor</label>
                                    </div>
                                </div>
                                
                                <div class="col-md-6">
                                    <label class="form-check-label" for="">Teklif Durumu :</label>

                                    <div class="form-check form-check-inline">
                                        <input class="form-check-input" type="radio" name="teklif-durumu"
                                               id="inlineRadio11" value="1" ' . checkRadio($musterilerEdit['musteri_teklifStatu']) .'>
                                        <label class="form-check-label" for="inlineRadio11">Teklif Verildi</label>
                                    </div>
                                    <div class="form-check form-check-inline">
                                        <input class="form-check-input" type="radio" name="teklif-durumu"
                                               id="inlineRadio22" value="2" ' . checkRadio2($musterilerEdit['musteri_teklifStatu']) .'>
                                        <label class="form-check-label" for="inlineRadio22">Teklif Verilmedi</label>
                                    </div>                                    
                                </div>
                            </div>
                        </div>                        
                        <input type="hidden" name="musteri-form-id" value="' . $musterilerEdit['musteri_id'] . '">
                        <input type="hidden" name="musteri-duzenle" value="musteri duzenle">
                        <button type="submit" class="btn btn-success btn-hesabim col-md-12 guncelle-musteri">Güncelle
                        </button>
                    </form>
                </div>';

    }
    echo $html;

}

?>
aydinkeskin
1447 gün önce

fonksiyon 1 kere yazılır neden her radio için uğraşıyorsun

valu değerinden sonra <php if(radi1 == 1 and radi2 == 0) { echo "checekde radi1";}elseif(radi == 2 and radi == 1){ echo "checked raid2 ";}?>

üstüne yazdığın fonksiyonda 2 kere yazmana bence gerek bile yok 

function CheckRadio($gelenValue){

        return $gelenValue == 2 ? 'checked' : '';

}

sonuctu fonksiyonu değer gönderiyorsun 

echo CheckRadi($gelenradio1) else echo CheckRadio($gelenradi2)


ve sen kodlarını bi tam satır paylaş da burda yardım etmek isteyenler niye olmadığını görsün

makifgokce zaten net bir şekilde vermiş.

o sen tırnak koymadın diye tırnak koymuş ne bilsin değişkene atamadığını :)
zubizuretta
1447 gün önce

Sorunu ancak şu şekilde çözdüm ama bunun kolay yolu olması lazım. çünkü her radio için bir fonksiyon yapmak zorundayım bulduğum yöntemle. O da şu ;

function checkRadio($gelenValue){

    return $gelenValue == 1 ? 'checked' : '';

};

function checkRadio2($gelenValue){

    return $gelenValue == 2 ? 'checked' : '';

};


Devamında ;

    $html .= '<div class="col-md-6">
                        <label class="form-check-label" for="">Teklif Durumu :</label>
                    <div class="form-check form-check-inline">
                        <input class="form-check-input" type="radio" name="teklif-durumu"
                               id="inlineRadio11" value="1" ' . checkRadio($musterilerEdit['musteri_teklifStatu']) .'>
                        <label class="form-check-label" for="inlineRadio11">Teklif Verildi</label>
                    </div>
                    <div class="form-check form-check-inline">
                        <input class="form-check-input" type="radio" name="teklif-durumu"
                               id="inlineRadio22" value="2" ' . checkRadio2($musterilerEdit['musteri_teklifStatu']) .'>
                        <label class="form-check-label" for="inlineRadio22">Teklif Verilmedi</label>
                    </div>
                </div>';         

Bu şekilde checkRadio($musterilerEdit['musteri_teklifStatu']) kullanarak çözüyorum ama her radio için fonksiyon yazmak zorundayız. Şuan sorun çözüldü sorun daha kolay ve basit yolunu bulmak :)

zubizuretta
1447 gün önce

Yok yusuf hocam bu da olmadı.

$html = '';

$html .= '<input class="form-check-input" 
    type="radio" name="teklif-durumu" 
    id="inlineRadio11" value="1" ' . $user['musteri_teklifStatu']== 1 ? 'checked' : '' . ' >';
    
echo $html;

Olayım tamamen bu kod. Yapı tamamen bu. Burada checked yazdırmam lazım.

webdevyusuf
1447 gün önce
<input class="form-check-input" 
    type="radio" name="teklif-durumu" 
    id="inlineRadio11" value="1" <?=$user["musteri_teklifStatu"]== 1 ? "checked" : null?>'>
zubizuretta
1447 gün önce

$html = '<input class="form-check-input"

    type="radio" name="teklif-durumu" 
    id="inlineRadio11" value="1" ' . $user['musteri_teklifStatu']== 1 ? 'checked' : '' . ' >';
echo $html;

bu şekilde gösterdiğiniz gibi yapmam lazım ama çalışmıyor. 'checked' : '' olan yerde en son tırnak işareti hata veriyor.

makifgokce
1447 gün önce

. ile birleştirmek için string bir ifade olması lazım.

$html = '<input class="form-check-input" 
    type="radio" name="teklif-durumu" 
    id="inlineRadio11" value="1" ' . $user['musteri_teklifStatu']== 1 ? 'checked' : '' . ' >';
echo $html;

eğer html olarak tırnaksız yazacaksan aşağıdaki gibi yap

<input class="form-check-input" 
    type="radio" name="teklif-durumu" 
    id="inlineRadio11" value="1" <?php echo $user['musteri_teklifStatu']== 1 ? 'checked' : ''; ?>/>
zubizuretta
1447 gün önce

Yok hocam olmadı inputu tırnak içine almışsınız ama bu sefer komple hata verdi.

makifgokce
1447 gün önce
'<input class="form-check-input" 
    type="radio" name="teklif-durumu" 
    id="inlineRadio11" value="1" ' . $user['musteri_teklifStatu']== 1 ? 'checked' : '' . ' >'