lostyazilim
tr.link

Mysql'e yazdırırken Çoklu Checkbox'un durumuna göre işlem yapmak?

8 Mesajlar 1.620 Okunma
acebozum
tr.link

rmzonl rmzonl WM Aracı Kullanıcı
  • Üyelik 17.11.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek memur
  • Konum İzmir
  • Ad Soyad R** Ö**
  • Mesajlar 8
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)
Arkadaşlar merhaba. Bir Wordpress Nöbetçi Eczane botu üzerinde çalışıyorum. Bot'un yönetim panelinde Eczane bilgilerinin veritabanına girildiği bir bölüm var. Hemen altında veritabanındaki eczanelerin listelendiği başka bir bölüm. Listeleme bölümünde her eczane bilgisinin başında checkbox var. Şu anda iki buton ile önce tüm eczanelerin checkbox bilgisini N yapıyorum, sonra nöbetçi olanlarınkini Y yapıyorum. Buraya kadar her şey dört dörtlük. Ancak sorun şu:
Ben tek bir buton ile işaretli olan checkbox ların tablodaki sütun değerlerini Y , işaretli olmayanları ise N olarak değiştirmek istiyorum. Bunu tek bir sql sorgusu ile yapmam gerekiyor. Yani ben o günkü nöbetçi eczaneleri işaretleyip "Güncelle" butonuna tıklandığımda işaretli olanların Y, olmayanların N olmasını istiyorum. İnterneti yedim içtim bulamadım. Bi yardımcı olursanız sevinirim..
Biraz uzun oldu ama detaylı anlatmanın faydalı olacağını düşündüm. Yardımcı olan/olmaya çalışan herkese şimdiden çok teşekkür ediyorum..

kontrol bölümü


if(isset($_POST['activate'])?$activate = $_POST["activate"]:$deactivate = $_POST["deactivate"])

$id = "('" . implode( "','", $checkbox ) . "');" ;
$sql="UPDATE nobetcieczane SET isaret = '".(isset($activate)?'Y':'N')."' WHERE id IN $id" ;
$result = mysql_query($sql) or die(mysql_error());
}

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);

$count=mysql_num_rows($result);
if($sql){
echo 'Eczane Listesi Güncellendi.';
}else{
echo 'HATA ! Eczane Listesi Güncellenemedi..';
}
break;
}
?>




tablo bölümü:















$neczane = mysql_query("SELECT * FROM `nobetcieczane` ORDER by id DESC");
while($neczaneler = mysql_fetch_assoc($neczane)){
?>















  Seç Eczane Adı Eczane Telefonu Eczane Adresi Kaldır






 
 
 





 

 

elektronikssl
webimgo

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)
Büyük ihtimalle id değişkeninde bir hata var, sql cümlelerine uygun bir yapıda olmadığını düşünüyorum. Diziden çıkartmışsınız ama in komutu buna uygun mu değil mi bilemedim. Stringe cevirmeden kullanmayı denediniz mi?
 

 

rmzonl rmzonl WM Aracı Kullanıcı
  • Üyelik 17.11.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek memur
  • Konum İzmir
  • Ad Soyad R** Ö**
  • Mesajlar 8
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)

brkrtp adlı üyeden alıntı

Büyük ihtimalle id değişkeninde bir hata var, sql cümlelerine uygun bir yapıda olmadığını düşünüyorum. Diziden çıkartmışsınız ama in komutu buna uygun mu değil mi bilemedim. Stringe cevirmeden kullanmayı denediniz mi?


Öncelikle ilginiz için teşekkür ederim. Yukarda kullandığım bu sistemi bi yerden alıntı yaptım. Şuan zaten stabil şekilde çalışıyor. Ben geliştirmeye çalışıyorum. Şuan listedeki öğeleri checkboxile işaretleyip mysqlde Y yada N değeri verebiliyorum. Ancak bunu iki adımda yapıyorum. Yani önce tüm listenin checkbox larını işaretleyip "deactive" butonu ile N değeri veriyorum. Sonra nöbetçi eczanelerin checbox larını işaretleyip active butonu ile "Y" değeri veriyorum.
Benim yapmak istediğim ise şu:
Sadece nöbetçi eczaneleri seçip, tek bir komut ile seçili olanlara mysqlde "Y" değeri vermek, seçili olmayanlara ise "N" değeri vermek. Mantığını kuramadım bir türlü.

Ek Olarak: Arkadalar Bi yardımcı olsanız??
 

 

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)

rmzonl adlı üyeden alıntı

Öncelikle ilginiz için teşekkür ederim. Yukarda kullandığım bu sistemi bi yerden alıntı yaptım. Şuan zaten stabil şekilde çalışıyor. Ben geliştirmeye çalışıyorum. Şuan listedeki öğeleri checkboxile işaretleyip mysqlde Y yada N değeri verebiliyorum. Ancak bunu iki adımda yapıyorum. Yani önce tüm listenin checkbox larını işaretleyip "deactive" butonu ile N değeri veriyorum. Sonra nöbetçi eczanelerin checbox larını işaretleyip active butonu ile "Y" değeri veriyorum.
Benim yapmak istediğim ise şu:
Sadece nöbetçi eczaneleri seçip, tek bir komut ile seçili olanlara mysqlde "Y" değeri vermek, seçili olmayanlara ise "N" değeri vermek. Mantığını kuramadım bir türlü.

Ek Olarak: Arkadalar Bi yardımcı olsanız??

Seçili olanlara y değerini veriyorsanız aynı sorguyu kopyalayıp not in komutuyla kalanlara n verebilirsiniz
 

 

wmaraci
wmaraci

rmzonl rmzonl WM Aracı Kullanıcı
  • Üyelik 17.11.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek memur
  • Konum İzmir
  • Ad Soyad R** Ö**
  • Mesajlar 8
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)

brkrtp adlı üyeden alıntı

Seçili olanlara y değerini veriyorsanız aynı sorguyu kopyalayıp not in komutuyla kalanlara n verebilirsiniz


rica etsem verdiğim kodlar üzerinde gösterebilir misiniz?

Ek Olarak: Güncel
 

 

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)

rmzonl adlı üyeden alıntı

rica etsem verdiğim kodlar üzerinde gösterebilir misiniz?

Ek Olarak: Güncel


if(isset($_POST['activate'])?$activate = $_POST["activate"]:$deactivate = $_POST["deactivate"])

$id = "('" . implode( "','", $checkbox ) . "');" ;
$sql="UPDATE nobetcieczane SET isaret = '".(isset($activate)?'Y':'N')."' WHERE id IN $id" ;

$sql2="UPDATE nobetcieczane SET isaret = 'N')."' WHERE id NOT IN $id" ;

$result = mysql_query($sql) or die(mysql_error());
$result = mysql_query($sql2) or die(mysql_error());
}


...
Eklemelerimi kırmızı ile gösterdim
 

 

rmzonl rmzonl WM Aracı Kullanıcı
  • Üyelik 17.11.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek memur
  • Konum İzmir
  • Ad Soyad R** Ö**
  • Mesajlar 8
  • Beğeniler 0 / 0
  • Ticaret 0, (%0)

brkrtp adlı üyeden alıntı

if(isset($_POST['activate'])?$activate = $_POST["activate"]:$deactivate = $_POST["deactivate"])

$id = "('" . implode( "','", $checkbox ) . "');" ;
$sql="UPDATE nobetcieczane SET isaret = '".(isset($activate)?'Y':'N')."' WHERE id IN $id" ;

$sql2="UPDATE nobetcieczane SET isaret = 'N')."' WHERE id NOT IN $id" ;

$result = mysql_query($sql) or die(mysql_error());
$result = mysql_query($sql2) or die(mysql_error());
}


...
Eklemelerimi kırmızı ile gösterdim


çok teşekkür ederim. sayenizde sorunu çözdüm. ihtiyacı olan arkadaşlar için kodları paylaşıyorum.

Aşağıdaki kod, sorunsuz şekilde seçili olan checkbox lara 1 , seçili olmayanlara 0 veriyor:

if(isset($_POST['checkbox'])){$checkbox = $_POST['checkbox'];

$id = "('" . implode( "','", $checkbox ) . "');" ;
$sql="UPDATE nobetcieczane SET isaret = '1' WHERE id IN $id" ;

$sql2="UPDATE nobetcieczane SET isaret = '0' WHERE id NOT IN $id" ;

$result = mysql_query($sql) or die(mysql_error());
$result = mysql_query($sql2) or die(mysql_error());
}
if($sql){
echo 'Eczane Listesi Güncellendi.';
}else{
echo 'HATA ! Eczane Listesi Güncellenemedi..';
}
 

 

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)

rmzonl adlı üyeden alıntı

çok teşekkür ederim. sayenizde sorunu çözdüm. ihtiyacı olan arkadaşlar için kodları paylaşıyorum.

Aşağıdaki kod, sorunsuz şekilde seçili olan checkbox lara 1 , seçili olmayanlara 0 veriyor:

if(isset($_POST['checkbox'])){$checkbox = $_POST['checkbox'];

$id = "('" . implode( "','", $checkbox ) . "');" ;
$sql="UPDATE nobetcieczane SET isaret = '1' WHERE id IN $id" ;

$sql2="UPDATE nobetcieczane SET isaret = '0' WHERE id NOT IN $id" ;

$result = mysql_query($sql) or die(mysql_error());
$result = mysql_query($sql2) or die(mysql_error());
}
if($sql){
echo 'Eczane Listesi Güncellendi.';
}else{
echo 'HATA ! Eczane Listesi Güncellenemedi..';
}


Rica ederim hoşçakalın
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)