v2.5.2
Giriş yap

Php'de Select-Option ile Id Çekme

yazilimyolcusu
2,325 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>
PHP
onlywhatchess
1507 gün önce

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

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

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');
JavaScript

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; });
JavaScript

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">
HTML

Şeklinde düzelt