[PHP] Veritabanından kontrol edilerek checkbox seçme

Bu konuyu okuyanlar

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
merhaba

elimde daha önceden veritabanına value değerini kaydettiğim checkbox'lar var. ben sayfa üzerinde aynı checkboxları yayınlıyorum, yapmak istediğim şey veritabanında value değeri bulunan kutuları seçili hale getirmek. foreach ile yapabiliriz sanırım ama başaramadım

yardımlarınızı bekliyorum, teşekkürler
 

_F_19o7_B_

Öğrenci
Katılım
10 Mart 2009
Mesajlar
32
Reaksiyon puanı
2
Puanları
0
Girmiş olduğun value değerleri veya veritabanı yapısını belirtsen dha açıklayıcı cevap alabilirdin

Kaydettiğin değerleri yazdırırken veritabanında var ise

<input tyoe="checkbox" selected="selected" >

Selected ile seçili hale getirebilrsiniz. Tabi Veritabanı yapının nasıl olduğunu bilmediğim için açıklayıcı bi cvp olmamıştır.


$SQL = mysql_query("SELECT * FROM tablo");
while($row = mysql_fetch_array($SQL)){

echo "<input type='checkbox'";
if($row[secili]=="1") echo "selected='selected'";
echo ">";

}
 

smokje

Asistan
Katılım
5 Şubat 2009
Mesajlar
152
Reaksiyon puanı
0
Puanları
0
$result = veritabanindan donen veri.

<?php
foreach ($result as $key => $value){

echo "<input type=\"checkbox\" name=\"cbox__$key\" ($value['sutun']=='1') ? \"checked='checked'\" : ' '>" ;

}
?>
 

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
mysql veritabanı kullanıyorum. girdiğim değerler: S, M, L, XL, XXL, 1

şu şekilde denediğimde veritbanında olanları listeliyor. yani seçili olacakları

Kod:
$SQL = mysql_query("SELECT * FROM bedenler WHERE urun_id = '".$id."'");
while($row = mysql_fetch_array($SQL)){
	


echo "<input type='checkbox'";
if($row[secili]=="1") echo "checked='checked'";
else{echo "";}
echo ">".$row['beden']."<br>";


}

buraya kadar mantığı biraz anladım gibi. ama ben üstte verdiğim değerlerin hepsinin yazılmasını, sadece veritabanında olanların seçili olmasını istiyorum. nasıl yapabilirim?
 

smokje

Asistan
Katılım
5 Şubat 2009
Mesajlar
152
Reaksiyon puanı
0
Puanları
0
valla ben anlamadim ne demek istedigini,
veritabanina ne yaziyorsun, ekrana ne yazdirmak istiyorsun, hangilerinin isaretli olmasini istiyorsun.?
 

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
veritabanımda farklı urun_id'lerine bağlı şu değerler var: S, M, L, XL, XXL, 1

ben yukarıda verdiğim kod ile seçili olacakları listeletebiliyorum. seçili olmayacaklar listelenmiyor.

yani istediğim S, M, L, XL, XXL, 1 değerlerine ait 6 adet checkbox eklensin, veritabanında bu değerlerden bulunanlar seçili olsun

şu şekilde daha iyi anlaşılabilir galiba. ürün düzenleme sayfası yapıyorum. düzenleme kısmında, ekleme sayfasındaki gibi tüm checkboxlar olacak. ekleme sayfasından tek farkı veritabanında bulunananlar seçili olacak. istediğim bu
 

smokje

Asistan
Katılım
5 Şubat 2009
Mesajlar
152
Reaksiyon puanı
0
Puanları
0
bedenler tablosunun alanlarini PrtSc yap vereyim sana tam kodunu
 

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
çok teşekkürler

2ujr0u8.png
 

smokje

Asistan
Katılım
5 Şubat 2009
Mesajlar
152
Reaksiyon puanı
0
Puanları
0
<?php

$bedenler_dizi=array(1=>"S", 2=>"M", 3=>"L", 4=>"XL", 5=>"XXL", 6=>"1");

$SQL = mysql_query("SELECT * FROM bedenler WHERE urun_id = '".$id."'");
while($row = mysql_fetch_array($SQL)){

for($i=1; $i<=6; $i++){ ?>
<input type="checkbox" name="cbox__<?php echo $i;?>" <?php if($row['beden']==$bedenler_dizi[$i]) {echo "selected='selected'";}?>><?php echo $bedenler_dizi[$i];?>
<?php } } ?>

Sunu bi dene bakam ;)
 

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
2vuzs07.png


bu şekilde gösteriyor. urun_id'si 9 olan ürünü düzeltme sayfasını açtım, bu id'ye ait 3 ürün vardı bu şekilde listeledi. biyerde eksik yapıyoruz anlayamadım
 

smokje

Asistan
Katılım
5 Şubat 2009
Mesajlar
152
Reaksiyon puanı
0
Puanları
0
{echo "selected='selected'";}

{echo "checked='checked'";}

olarak degistir.
 

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
biraz daha yol katettik sanırım. şuanda böyle gözüküyor.

n50fwi.png


şu şekle nasıl çevirebiliriz?

2edmmue.png
 

smokje

Asistan
Katılım
5 Şubat 2009
Mesajlar
152
Reaksiyon puanı
0
Puanları
0
PHP:
<?php
$bedenler_dizi=array(1=>"S", 2=>"M", 3=>"L", 4=>"XL", 5=>"XXL", 6=>"1");
?>
<table border="0">
<?php
$SQL = mysql_query("SELECT * FROM bedenler WHERE urun_id = '".$id."'");
while($row = mysql_fetch_array($SQL)){
echo "<tr>";
for($i=1; $i<=6; $i++){ ?>
<td>
<input type="checkbox" name="cbox__<?php echo $i;?>" <?php if($row['beden']==$bedenler_dizi[$i]) {echo "checked='checked'";}?>><?php echo $bedenler_dizi[$i];?>
</td> 
<?php } 
echo "</tr>";
} ?>
</table>
 

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
yok hayır bundan bahsetmedim. her diziden birden fazla ekliyor bundan bahsetmiştim. bu arada tekrar teşekkürler

n50fwi.png
 
Katılım
31 Aralık 2007
Mesajlar
17,485
Reaksiyon puanı
188
Puanları
63
altı üstü ekrana basarken veriyi kontrol edip istediğin biçimde ise ekrana basılacak objeye checked propertysini ekleyecek :) küçük bir if kontrolü :)
 

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
son verdiğiniz kodda ekrana S,M,L,XL,XXL,1 verilerine göre 6 adet checkbox eklemesi gerekirsen daha fazla ekliyor. sadece burada takıldım
 

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
where koşulundan iki tane yazsam çözülücek. hem urun_id hem beden adı nın birbiriyle uyuşması lazım. çift where koşulu yazabilirmiyiz?
 

prof.

Profesör
Katılım
27 Nisan 2009
Mesajlar
1,400
Reaksiyon puanı
7
Puanları
38
çift where koşulu derken and kullanarak yazılabilen olaydan mı bahsediyorsun?

where urun_id="" and beden=""
 

UgurOnline

Asistan
Katılım
11 Aralık 2008
Mesajlar
159
Reaksiyon puanı
1
Puanları
0
bu kod ile çözdüm emeği geçenlere teşekkürler

PHP:
<?php 
$bedenler_dizi=array(1=>"S", 2=>"M", 3=>"L", 4=>"XL", 5=>"XXL", 6=>"1"); 
?> 
<table border="1"> 
<?php 
for($i=1; $i<=6; $i++){ 
$SQL = mysql_query("SELECT * FROM bedenler WHERE urun_id = '".$id."' and beden = '".$bedenler_dizi[$i]."'"); 
$row = mysql_fetch_array($SQL);
echo mysql_num_rows($SQL);
echo "<tr>"; 
?> 
<td> 
<input type="checkbox" name="cbox__<?php echo $i;?>" <?php if($row['beden']==$bedenler_dizi[$i]) {echo "checked";}?>><?php echo $bedenler_dizi[$i];?> 
</td> 
<?php echo "</tr>"; } ?>
 
S

SDN Okuru

SDN Okuru
arkadaşlar yardımcı olur musunuz ben Microsoft'un veri tabanını kullanıyorum bir yurt programı hazırlıyorum odalardaki yatak numaraları var seçilmemiş olanları göstermek istiyorum
 

sino

Öğrenci
Katılım
24 Ocak 2013
Mesajlar
34
Reaksiyon puanı
0
Puanları
0
SDN Okuru sen onu hangi dilde yapmak istiyorsun. MSSQL ile birlikte PHP kullanmıyorsun heralde ?
 
Üst