v2.5.2
Giriş yap

option value değerini dinleme

rephp7
869 defa görüntülendi
foreach ($urun as $urun) 
{
echo '<option value="' . $urun["ubaslik"] . '">' . $urun["ubaslik"] . '</option>';
}
PHP

Bu sekilde urunler tablosundan ürün başlıklarını option value içine alıp seçim yapıyorum
ama şimdi ben bu seçimi nasıl dinletip urunler tablosundan yaptığım seçime göre ürünün kodunu (ukod) da getirtebilirim?

echo $urun[ukod]
PHP
ürün baslığıürün kodu
stoktakilers00
geleceklerg01

Dediğim gibi option value ile Stoktakileri seçtiğimde bana value değeri olarak altına s00 yazsınki ben de bunu başka değer ile birleştirip forma post edebileyim.

<input type="text" class="form-control" placeholder="ambarkod…" name="ambarkod" readonly value="<?=$urun["ukod"],'-', str_pad($last_id+1, 4, '0', STR_PAD_LEFT) ?>">

//çıktısı şöyle olmalı: s00-0025
PHP

jquery ile mi yapılır hiç bilmiyorum. Yardımcı olur musunuz?

mrtkcky
1343 gün önce

Merhabalar,

jQuery & Ajax kullanarak dediğiniz işlemi yapabilirsiniz. Örneğin bizim x name'ine sahip bir select ve içinde optionlarımız olsun.

<select id="urunler" name="x">
    <option value="a">A</option>
    <option value="b">B</option>
    <option value="c">c</option>
</select>

Siz istiyorsunuz ki kişi buradan bir seçim yaparsa, yaptığı seçime göre ürün kodunu getirsin.

Önce projeye jQuery'i dahil ediyoruz ve post işlemimizi yapıyoruz:

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

<script>
    $("select.x").on('change', function(){

	var secilenurun = $(this).children("option:selected").val();
	$.ajax({
		type: 'POST',
		url: 'ajax.php',
		data: {'secilenurun':secilenurun},
		success:function (data) {
	        $("#urunid").remove();
			$("#urunler").after(data);
		}
	});
});

<script>

Burada dedik ki:

urunler selectinden bir urun seçilirse bunun value değerini al ve ajax.php'ye post et.
Ardından ajax.php'den dönen değeri #urunler id'sine sahip selectin arkasına yaz.
(Burada yer alan $urunid, ajaxtan göndereceğimiz kısım)

Ajax.php dosyası:


<?php
if(isset($_POST["secilenurun"])){
    
    $id = $_POST["secilenurun"];
    
    //Bu kısımda veritabanı işlemlerini yapıp o ürünün idsini çektirin ve
    
    return "<input id='urunid' type='hidden' value='CEKILEN_URUN_ID'>";
    
    //şeklinde return edin.
}

?>

Ajax kısmında yazan $("#urunid").remove(); kısmını yazmamın sebebi, olur da burada seçim yapan kullanıcı, fikrini değiştirip başka bir şey seçerse, daha önce seçip eklettiği #urunid inputunu sildirip yenisini yazdırmak.

Kolay gelsin,

Saygılarımla