v2.5.2
Giriş yap

Php'de Select-Option ile Id Çekme

yazilimyolcusu
2,208 defa görüntülendi

Benim sorunum şu:
Select Option ile "Konya" yı seçtiğimde "Konya" nın id'si gelsin istiyorum. "Ankara" yı seçtiğimde "Ankara" nın id'si gelsin istiyorum. En son Ankarayı ekledim id si 37. Konya yı ekledim 36. id ile. Galiba javascript ile yapılabiliyor ama ben beceremedim. Yardım edebilir misiniz?


<html>
    <h4><u> Albüme Resim Yükle </u></h4>
	<form action="a.php" method="post" enctype="multipart/form-data">
	
	<label style="font-size:16px;" for="albumsec">Albüm Seç</label>
	<select style="margin-left:10px;" id="album" name="albumsec" onchange="deger();">
	
	<?php
	$resimalbumusorgulistesi=$db->prepare("SELECT * FROM resimalbumu");
	$resimalbumusorgulistesi->execute(array());
	$resimalbumusorgusu=$resimalbumusorgulistesi->fetchAll(PDO::FETCH_ASSOC);
	foreach($resimalbumusorgusu as $resimalbumu) {
	?>
	
	<option value="<?php echo $resimalbumu['resimalbumu_id']; ?>"><?php echo $resimalbumu['resimalbumu_adi']; ?></option>
	
	<?php } ?>
	</select>
	<br>
	<input type="text" name="sirasi" style="text-align:center;">
	<br><br>

	<input type="text" name="idsi" style="text-align:center;" id="id" value="<?php echo $resimalbumu['resimalbumu_id']; ?>">
	<br><br>
	<input type="file" name="files[]" value="Resim Yükle" />
	<br>
	<button style="margin-top:7px; width:90px; height:30px; background-color:green; color:#fff; border-radius:7px;" name="submit">Gönder</button>
	</form>
</html>
onlywhatchess
1389 gün önce

'() =>' bu aslında 'function()' yazımının kısa hali yani,

album.addEventListener('change', function() { id.value = album.value; });

Böylede yazılabilirdi.
Birbirine atama olayı dediğin yerde,
album dediğim senin select etiketin.
id dedigim ise ekranda select ile seçtiğin option, değerini göstericek olan input.
Şimdi sen select ile herhangi bir şey seçtiğinde seçtiğin şeyin option value değerini,

var album = document.querySelector('#album');

Bu şekilde alıyoruz misal istanbul seçtin idsi 34 olsun artık album değişkeninde 34 değeri var sonrasın da tek yapmak gereken ekrandaki inputta bunu göstermek o inputu da şu şekilde tanımlamıştık.

var id = document.querySelector('#id'); 
/* 
Bundan sonra ki kısımda da şunu diyorum, Eğer select ile herhangi bir şey seçilirse onun değerini al ve inputun değerine yaz.
*/
album.addEventListener('change', () => { id.value = album.value; });

Ve de Foreach parantezleri burada

parantezlerin dışında olanı

<!-- Eski hali -->
<input type="text" name="idsi" style="text-align:center;" id="id" value="<?php echo $resimalbumu['resimalbumu_id']; ?>">
<!-- Yeni hali -->
<input type="text" name="idsi" style="text-align:center;" id="id">

Şeklinde düzelt