Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Mysql id Değerine Göre Checked ?

garrip

0
Onaylı Üye
Üye
Katılım
28 Aralık 2010
Mesajlar
174
Açılan Konu
15
Tepki puanı
0
Merhaba arkadaşlar bir problemim var yardımcı olabilirseniz sevinirim...

Mysql de bulunan katid seklinde bir alanım var ve bu alanı alırken explode kullanarak cekıyorum.

---
PHP:
$katlar = explode(",",$yaz['katid'],9 );

---
şeklinde

benim yapmak istediğim şey db deen gelen id ye göre checkbox ları checked yapmak

yani kat id ile filmin kat idsi tutuyorsa checked olucak

yalnız tek sorun katlar array şeklinde

ben şöyle birşey yaptım

----

PHP:
<?php
$s = mysql_query("SELECT * FROM kategoriler ORDER BY katadi ASC" ); 
$katlar = explode(",",$yaz['katid'],9 ); 
$i = 1; 
while($ss = mysql_fetch_array($s ) ){ 
      foreach($katlar as $a => $b ){ 
?> 

   <input <?php if( $b == $ss['id']  ){ echo  "checked='checked'"; } ?> type="checkbox" name="kategoriler"  value="<?php echo $ss['id']; ?>" /> 

<?php 
        echo $ss['katadi']; 
     ++$i; 
      } 
}


bu şekilde filmin kategorilerini checked yapıyor ama aynı kategori ismini 2 defa yazıyor... (ayrıca ikinci kez tekrarladığı kategoriyi checked yapmıyor )

bir hal caresini bulalım :peh:
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
PHP:
<?php
$s = mysql_query("SELECT * FROM kategoriler ORDER BY katadi ASC" ); 
$katlar = explode(",",$yaz['katid'],9 ); 

	while($ss = mysql_fetch_array($s)) { 
    
		if (in_array($ss['id'],$katlar)) {
		$checked = ' checked';
		}
		else {
		$checked = '';
		}
	
	echo '<input type="checkbox"  name="kategoriler[]"  value="'.$ss['id'].'"'.$checked.'> '.$ss['katadi'].'<br />';
	}	

?>

Yalnız kullandığın mantık yanlış, kategori eşleştirmeleri tek field üzerinde virgül ile ayrılarak yapılırsa ilerde problem çıkar. Doğrusunu öğrenmek istiyorsan, kategori eşleştirme için ayrı tablo açıp eşleştirme yapman gerekiyor. Şurada anlatılmışı var.

http://www.zskblog.com/detay.aspx?id=21
 

garrip

0
Onaylı Üye
Üye
Katılım
28 Aralık 2010
Mesajlar
174
Açılan Konu
15
Tepki puanı
0
Teşekküler -- Angelo -- sonunda oldu.. İlişkisel veritabanı biraz kafamı karıştırdı ama onuda öğrenmem gerek. Verdiğin bilgiler için tekrar teşekkürler :hmmm:
 
Üst