Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Çoklu Checkbox Güncelleme

Aşağıdaki basit bir kodumuz var diyelim.
sadece check edilmiş checkboxların id numarasını (check edilip edilmediğine göre) güncellemek için ne yapmalıyız.

sql dosyası
CREATE TABLE IF NOT EXISTS `checkbox` (
  `kurum_id` int(4) NOT NULL auto_increment,
  `kurum_ad` varchar(65) collate utf8_turkish_ci NOT NULL default '',
  `kurum_checkbox` tinyint(1) unsigned NOT NULL default '0',
  PRIMARY KEY  (`kurum_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=4 ;

INSERT INTO `checkbox` (`kurum_id`, `kurum_ad`, `kurum_checkbox`) VALUES
(1, 'Kurum 01', 1),
(2, 'Kurum 02', 1),
(3, 'Kurum 03', 0);



php dosyası
 $db_host="localhost";
 $db_user="root";
 $db_pass="123456";
 $db_name="php_form_checkbox";
 
 $baglanti = mysql_connect($db_host,$db_user,$db_pass) or die('Bağlantı yok : '.mysql_error());
mysql_select_db($db_name) or die('Veritabanı yok yada ulaşılamadı : '.mysql_error());


if(isset($_POST['submit'])) {

foreach($kurum as $id=>$value) {
 $result = mysql_query("UPDATE checkbox SET kurum_checkbox='1' WHERE kurum_id='".$id."'");
}

}
$sql="SELECT * FROM checkbox";
$result=mysql_query($sql);
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>\n";
echo "<ul>\n";
while($rows=mysql_fetch_array($result)) {
$kurum_id       = $rows['kurum_id'];
$kurum_ad       = $rows['kurum_ad'];
$kurum_checkbox = $rows['kurum_checkbox'];
$secilimi       =($kurum_checkbox=='1') ? " checked='checked'" : ""; 
echo " <li><label>$kurum_ad : </label><input type='checkbox' name='kurum[]' value='$kurum_id'$secilimi /></li>\n";
}
echo "</ul>\n";
echo "<input type='submit' name='submit' value='Tamam' />\n";
echo "</form>\n";

mysql_close($baglanti);

Ekli Dosyalar

+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • kiirpi adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    26 cevap - 0 soru
    Merhabalar ,

    update sorgunuz sadece checkbox da seçili olanları günceller.

    update öncesinde kurum_checkbox'ı sıfır olarak update ederseniz her seçim sonrası son durum tablonuda olur.
    • zyber adlı üyenin fotoğrafı zyber
      güncellemiyor bu hali ile...

      Peki seçimi kaldırılanlarla yeni seçilmiş olanların son durumlarını kaydetmek için nasıl bir değişiklik yapmalıyız?
      12 yıl önce yazılmış
    • kiirpi adlı üyenin fotoğrafı kiirpi
      başka bir tabloya update öncesinde son durumlarını yazabilirsiniz. Ya eklersiniz ( tarihsel bilgiye sahip olursunuz ) yada güncellersiniz bir önceki halini tutmuş olursunuz.
      Tercih size kalmış
      12 yıl önce yazılmış
  • siyahbeyaz adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    472 cevap - 20 soru
    $kurum = $_POST[kurum];
    foreach($kurum as $yaz) {
    echo $yaz;
    }
    


    işini görür..