gönderdiğiniz resime göre şöyle bir örnek hazırladım;
veritabanında adsoyad ve yoklama adlı 2 adet sütun var adsoyad'ı id gibi benzersiz kabul ettim yoklama ise var yok için 0 1 olarak kaydedilecek, form kısmında select sorgusu ile kayıtlı olan tüm öğrencileri yazdıracaksınız burada takıldığınız nokta radio butonlardan birinin seçili olması gerektiğidir böylece rahatça post edebilirsiniz yoklama sütunun db'deki değerini int olarak seçin, en son olarakta kaç adet adsoyad inputu olduğunu saydırıp for döngüsü yazıp içerisine sql sorgularını yazarak işlemi tamamlıyoruz umarım örnek ile beraber çözmüş olursunuz takıldığınız nokta olursa tekrar yazın.
<?php if(isset($_POST['submit'])){
$adsoyad = $_POST['adsoyad'];
$yoklama = $_POST['yoklama'];
$say = count($adsoyad);
for($i=0;$i<$say;$i++){ //insert yada update sorguları
$sql = "UPDATE ogrenciler SET yoklama='$yoklama[$i]' where adsoyad='$adsoyad[$i]'"; //mysql
$kayit = $db->prepare("update/insert ogrenciler set yoklama=? where adsoyad=?"); $kayit->execute(array($yoklama[$i], $adsoyad[$i])); //pdo sql
} echo 'başarılı'; } ?>
<form method="post">
<?php //sql select sorgusu başlangıç
<input type="text" name="adsoyad[]" readonly value="<?php echo $degisken['adsoyad']; ?>" />
<?php if($degisken['yoklama']=="0"){ ?>
<input type="radio" name="yoklama[]" value="1">
<input type="radio" name="yoklama[]" value="0" selected>
<?php }elseif($degisken['yoklama']=="1"){ ?>
<input type="radio" name="yoklama[]" value="1" selected>
<input type="radio" name="yoklama[]" value="0">
<?php } //sql select sorgusu kapanış ?>
<input type="submit" name="submit" value="Kaydet" />
</form>
Supersiniz hocam cok tesekkur ederim. Fazlasiyla yardimci oldununuz.
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 01:33:26 -->-> Daha önceki mesaj 01:30:04 --
radio input namelerini dizi şeklinde yaparsanız kullanımı daha kolay olacaktır.
yoklama[1] buradaki 1 yerine idyi yazdıracaksınız.
Örneğin yaşar ve ahmet adında öğrenci var yaşarın idsi 1 ahmetin idsi 2
Yaşar:
<input type="radio" name="yoklama[1]" value="1"> var
<input type="radio" name="yoklama[1]" value="0"> yok
<br />
Ahmet:
<input type="radio" name="yoklama[2]" value="1"> var
<input type="radio" name="yoklama[2]" value="0"> yok
Verileri bu şekilde post ettikten sonra $_POST['yoklama'] değeri size dizi olarak öğrenci id ve değerleri döndürür. Örneğin $_POST['yoklama'][1] bize yaşarın radiodan seçilen değerini döndürür.
Basit bir örnek:
<?php
$yoklama_dizi = $_POST['yoklama'];
foreach ($yoklama_dizi as $ogrenci_id => $deger)
{
//$deger => 1 se öğrenci var, 0sa öğrenci yok
//$ogrenci_id ise bize öğrenci id değerini verir
$kaydet = mysql_query("insert into yoklama (id,tarih,yoklamavakti,ogrenci_id) values (NULL, '$tarih','$deger','$ogrenci_id')") or die("Hata: kayıt işlemi gerçekleşemedi.");
}
?>
Yardiminiz icim tesekkur ederim. Normalde ilk basta bu sekilde yaptim. Fakat html kisminda name="yoklama []" seklinde olumca 84 inputtan tek birini secmeme izm veriyor. Bu durum sikinti bwnim icin biraz. Takilan arkadaslara fikir olur sagolun hocam.