Öğrencilerden hepsi veya bir kısmı veya bir tanesi hangi dersten devamsız ise o alana D harfi koyuluyor fakat sadece en baştaki işleniyorsa öğrenci bilgi kutularının tümünün adını aynı yaptığınızdan kaynaklanmaktadır.
Yani <input type="text" name="ogrenci"> yazmış olmalısınız büyük ihtimalle. Eğer birden fazla öğrenci için D harfi koyduysanız sadece en bastaki işlenir çünkü aynı alan adı için birden fazla değer var..
Size aşağıdaki gibi bir tablo hazırlamanızı önerebilirim.
Create table ogrenciler(
id int not lisanssız auto_increment,
ad varchar (50) not lisanssız,
soyad varchar (50) not lisanssız,
numara int not lisanssız,
sinif_adi varchar (15) not lisanssız,
Primary key (id)
);
create table devamsizlik(
sinif_adi varchar (15) not lisanssız,
ogrenci_id int not lisanssız,
devamsizlik_tarihi varchar (25) not lisanssız,
devamsiz_oldugu_ders varchar (50) not lisanssız,
);
ogrenciler tablosuna okuldaki tum ogrencilerin bilgisini girin. Bir php kodu yazın ve bir sınıftaki tüm öğrencilerin listesini isteyin.
Select * from ogrenciler where sinif_adi='lise1'
gibi. Her gelen kaydı yanında bir radio button name kısmı ogrenci_id numarasına eşit olan ve check edildiğinde de geriye öğrenci_id numarasını gönderen bir sayfa oluşacak.. Sayfanın sonunda bir hidden alan olacak ve lise1 sınıfı için kaç öğrencinin kaydı çekilmişse o sayı bulunacak. Mesela 50. Siz o gün için o listeden gelmeyen öğrencileri seçeceksiniz ve tamam butonuna basınca while döngüsü ile 1'den başlayarak 50'ye kadar (hidden alan ile gelen sayıya kadar) değişkenlerin değerlerinin kendilerine eşit olanlar o gün gelmediği anlaşılarak devamsizlik tablosuna öğrenci id'sinin gelmediği gün ve ders kaydı eklenicek.
Yani
$i = 1;
while ($i >= 50){
if(!isset($i)){
mysql_query("insert into devamsizlik values('lise1','25','13 Aralık Cuma','Felsefe')");
}
} // felsefeyi pek anlayamazdım da
25. id numaralı öğrenci cuma günü felsefeden kaçmış..
Bu haliyle belli bir dersten kaçanların, herhangi bir gün itibariyle devamsiz olanların, ilk tablodan öğrenci adı verilerek alınan ogrenci_id numarası ile ikinci tabloda tüm gelmediği günler vs. öğrenilebilir.
Kolay gelsin...