İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Mysql id Değerine Göre Checked ?

garrip

0
İyinet Üyesi
Katılım
28 Aralık 2010
Mesajlar
174
Reaction score
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
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
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
İyinet Üyesi
Katılım
28 Aralık 2010
Mesajlar
174
Reaction score
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:
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst