Cevaplara yorum özelliği eklendi. Lütfen tartışmalar için yorumları kullanın. Tüm güncellemeler

Javascript içerisine nasıl Php kodu eklerim

Merhabalar arkadaşlar,


Bir adet selectboxım var. Bu selectboxı çoğaltıyorum. Aşağıda görselde görebilirsiniz. İlk selectbox HTML olduğu için Php kodlarını ekleyebiliyorum. Fakat ondan sonrakileri Javascript ile çoğalttığım için selectboxın içerisine nasıl PHP eklerim bilmiyorum.


HTML yapım :

<select name="malzeme_adi[]" data-plugin-selectTwo class="form-control populate">

<option value="" selected disabled>Seçiniz</option>

<?php $malzemeler = $db->query("SELECT * FROM dmalzeme") or die(print_r($qr->errorInfo(),1));

//malzemeleri okutalım

foreach ($malzemeler as $id => $malzeme) {

echo "<option value=\"{$kisi['dm_id']}\"";

//kayıt için içeriğin kaydedileceği malzemeyi bulup seçelim

echo (isset($dm_id) && $malzeme['dm_id'] == $dm_id) ? ' selected' : '';

echo ">{$malzeme['dm_ad']}</option>\n";

}

?>

</select>


Buda içine eklemek istediğim Javascript Kodlarım :

<script type="text/javascript">

$(window).load(function(){

$(function() {

var scntDiv = $('#malzeme');

var i = $('#malzeme').size() + 1;

$(document).on('click','#addItem', function() {

$('<span><div class="form-group"><label class="col-md-2 control-label">Malzeme</label><div class="col-md-5"><select name="malzeme_adi[]" data-plugin-selectTwo class="form-control populate select2"><option value="AK">Çay</option><option value="HI">Şeker</option></select></div><div class="col-sm-2"><input name="malzeme_miktar[]" type="text" class="form-control" placeholder="Kg / Adet"></div><div class="col-sm-1"><a href="#" type="button" id="delItem" class="mb-xs mt-xs mr-xs btn btn-sm btn-primary"><i class="fa fa-minus-circle"></i> &nbsp;SİL</a></div></div></span>').appendTo(scntDiv);

i++;

$("select.select2").select2();

return false;

});

$(document).on('click','#delItem', function() {

if( i > 2 ) {

$(this).parents('span').remove();

i--;

}

return false;

});

});

});

</script>


5

Cevaplar (5)

İşlem devam ediyor, lütfen bekleyin..
Abdulbaki Zırıh
Doğru Cevap
@abdulbaki
1 ay önce

Bir örnek uygulama belki yardımcı olur.

HTML/JavaScript tarafı

<select>
    <option value="false">Ürün seç</option>
    <option value="urun-1">Ürün1</option>
    <option value="urun-2">Ürün2</option>
</select>
<div class="input-area">


</div>


<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
    $("select").change(function(){
        var value = $(this).val();


        $.ajax({
            type: "POST",
            url: "db.php",
            data: {"value": value, "status": true},
            success: function(result){
                $(".input-area").append("<input type='text' value='"+result+"'>");
            }
        })


        
    });
</script>

PHP tarafı

<?php


if(isset($_POST["status"])){
    $value = $_POST["value"]; // post edildiğinde gelen değer.


    // gelen değeri veritabanında sorgulatıp ekrana sonucu echo ile yazdırıyoruz.


    // örnek olarak biz gelen value değerini direkt olarak yazdıralım.


    echo $value;
}
İşlem devam ediyor, lütfen bekleyin..
Abdulbaki Zırıh
@abdulbaki
1 ay önce

Bu şekilde javascript kodlarına php kodu eklenebilir.

<input type="text" id="input1">
<?php $text = "Deneme"; ?>
<script>
  document.querySelector("#input1").value = "<?=$text?>";
</script>
İşlem devam ediyor, lütfen bekleyin..
İsmail Can ASLAN
@canaslan
1 ay önce [Güncellendi]

@abdulbaki, Hocam çok güzel örnek vermişsiniz fakat bendeki kodlar o kadar kısa olmayınca nasıl yapacağımı şaşırdım :)Rica etsem yardımcı olabilir misiniz.?

Alttaki kodları

foreach ($malzemeler as $id => $malzeme) {

echo "<option value=\"{$kisi['dm_id']}\"";

//kayıt için içeriğin kaydedileceği malzemeyi bulup seçelim

echo (isset($dm_id) && $malzeme['dm_id'] == $dm_id) ? ' selected' : '';

echo ">{$malzeme['dm_ad']}</option>\n";

}

Bu kodun içerisinde nasıl kullanabilirim ?

$('<span><div class="form-group"><label class="col-md-2 control-label">Malzeme</label><div class="col-md-5"><select name="malzeme_adi[]" data-plugin-selectTwo class="form-control populate select2"><option value="AK">Çay</option><option value="HI">Şeker</option></select></div><div class="col-sm-2"><input name="malzeme_miktar[]" type="text" class="form-control" placeholder="Kg / Adet"></div><div class="col-sm-1"><a href="#" type="button" id="delItem" class="mb-xs mt-xs mr-xs btn btn-sm btn-primary"><i class="fa fa-minus-circle"></i> &nbsp;SİL</a></div></div></span>').appendTo(scntDiv);




Gerçekten hiç anlamıyorum javascripttten :(

Cevapla @abdulbaki1 ay önce
@canaslan, Tam olarak çalışma mantığını bilsem daha kolay yardımcı olurum verdiğiniz kodları local'de çalıştırabilmem için bu kodlar yetmiyor :) İsterseniz teamviewer üzerinden yardımcı olabilirim. facebook.com/abdulbaki.zirih
Cevapla @canaslan1 ay önce
@abdulbaki, şimdi iş yerindeyim burda uzaktan bağlantı programları kapalı :) Ama şöyle anlatayım. Benim 1 tane selectboxım var, Bu selectboxta malzeme seçtiriyorum fakat Yanlarında birekle butonu var ve basınca altına bir selectbox daha açılıyor. Bu selectboxtada mysql den veri çekmek istiyorum. Fakat Sonradan eklenen selectbox javascript ile eklendiği için içine php kodu yazamıyorum. Kodlarım en üstte mevcut :) En üstteki HTML kodum 1. Selectbox ona veriler geliyor. Alttaki Javascript kodu ise kaç tane eklersem işte selectboxı çoğaltan kodum :) Bu şekilde yardımcı olabilirsen çok iyi olur :) Diğer türlü sıkıntı şuanda :)
Cevapla @abdulbaki1 ay önce
@canaslan, Mysql'den veri çekiyorsan javascript ile post işlemi gerçekleştiriyorsun yani eğer öyleyse direkt olarak post işleminden dönen değeri yazdırabilirsin. Ajax ile post işlemine örnek vereyim.
$.ajax({
type: "POST",
url: url,
data: {"data":data},
success: function(result){
$("#input1").val(result);
}
});
gibi bir işlem yapılabilir.
Cevapla @canaslan1 ay önce
@abdulbaki, 1 Saate kadar eve geçerim :) müsait olursan teamviewer vereyim hocam ben çok anlamıyorum yapamıyorum onu :):)
Cevapla @abdulbaki1 ay önce
@canaslan, Tamamdır ama 1 saat sonra müsait olmayabilirim. 20:00 gibi müsait olurum ondan sonra teamviewer ile yardımcı olabilirim. Birde kod paylaştım örnek olması açısından belki işine yarar.
Cevapla @canaslan1 ay önce
@abdulbaki, Tamam hocam ben istek attım facebook'tan müsait olduğunuz zaman yazarsınız :)
İşlem devam ediyor, lütfen bekleyin..
İsmail Can ASLAN
@canaslan
1 ay önce

Sorun @abdulbaki hocam tarafından çözülmüştür :) Tekrar teşekkür ediyorum kendisine :)

İşlem devam ediyor, lütfen bekleyin..
Abdulbaki Zırıh
@abdulbaki
1 ay önce

@canaslan, Bende tekrardan rica ediyorum :) Bu tip sorunu yaşayan arkadaşlar içinde çözüm olarak veritabanından çektiğimiz verileri javascript içinde php kodu yazarak json_encode() ile verileri json formatına aldık. Daha sonra javascript ile JSON.parse(); ile verileri parse edip bir döngü yardımıyla kullandık.

İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın