1-Kullanıcı girişi ( Admin-Öğretmen-Veli girişi olarak 3 ana bölüm var)
2-Admin girişinde (Her şeyi yapabilir)
öğretmen girişleri(Sadece dersine girdiği sınıflara not verebiliyor ve görüş ekleye biliyor..dersine girmediğini sınıflara not ekleyemiyor..)
veli girişleri (sadece kendi öğrenciye baka biliyor)
3- onun dışında haber ekleme -duyuru--- anasayfa düzeni inş. yakında bitiyor....
teklifleriniz varsa hemen alayım
en zor kısmının mantıgını not tablosu hallonmuştur
$sorgu="select k.tc as tc,k.no as no , k.ad as ad, k.soyad as soyad, k.sinif as sinif,k.dogum as dogum,k.baba_adi as baba_adi,
k.anne_adi as anne_adi,k.evtel as evtel,k.ceptel1 as ceptel1,k.ceptel2 as ceptel2,d.dtarih as dtarih,d.bilgi as bilgi, g.gorus as gorus, g.gtarih as gtarih
from
kayit k, devam d, gorus g
where
k.no=d.no";
3 tablodan çekme işlemi yapınca şöyle bir sıkıntı oluşuyo....
mesela kayit bilgilerinde öğrenci olsa bile .... eğer devamsızlıkta veya görüşte bilgi yoksa(noya göre yaptıkya) zaten mesela görüştede bilgi olmak zorunda değil... her öğrenciye görüş gircez diye bişe yok. işte girmeyince o bilgi kayittada olsa çıkmıyo...
olması gereken : kayittaki tüm bilgiler listelencek.... eğer kayitta listelenen bilgiyle irtibatlı olarak başka bir bilgi varsa(örn: devamsızlık veya görüş) onlarda onla irtibatlı olarak çıkcak..... bunu nasıl yapcaz
örnek çıktısı aşağıdaki gibi olcak değer yoksa boş kalcak
anladığım kadarıyla olay şu:
ben test ortamında denedim, bu şekil cok tablodan cekmede - ki bunlara binevi join query deniyor - tablolardan biri, anahtar değeri hic icermiyorsa, ozaman sonuc boş oluyor.
bunu çözmenin iki yolu aklıma geldi,
1- ders ve gorus tablosuna, görusler bos olsa da, tüm öğrenci nolarını eklemek. ozaman boş çıkmaz,
2- ya da, tek query ile degil, 2-3 sorgu ile bilgideposundan(database) bilgiyi çekmek. yani önce öğrenci kayıt, sonra gorus, sonra ders. v.b.
ilk yol daha zor gibi geldi, zira, en basta konustugumuz gibi, tüm ogrenci nolarını tüm tablolara ekleme zorunluluğu ortaya cıkıyor. bence 2. yolu kullan.
bide senin kodunda bir eksiklik var, where kısında, k.no=d.no and k.no=$numara olması lazım. senin dediğin gibi yazarsan, bütün kayıtları listeler. halbuki bir öğrencinin kayıtlarını görmek istiyorsun muhtemelen. $numara aradığın öğrenci nosunu icermeli.
bide abi mesela bir notları tutcağımız tabloda .......
matematik fen vb(15 ders olcak) bunlarda tek tek numara nasıl ekleyecez....
ders_notu ekleme tablosu aşşağıdaki gibi olcak
No - ders - yaz1- yaz2- yaz3
1 matetik 100 90 80
2 fen
bunun gibi bir öreğncinin enaz 15 dersi olcak.... mesela öğretmen 6-c sınıfında birinin notunu girmedi(çocuk sınava girmedi mesela) şimdi 6-c sınıfını
öğretmen listele diyince... not talosunda öyle bir öğrencinin notu olmadığı için kayittada olsa onu listlemiycek... ozman sıkıntı olcak...
abi portalın en sıkıntılı yeri bura nasıl bir mantık yapmamız lazım...
eğer dediğinz gibi 3 sorgu yaparsak ....sıkıntılı olmaz mı ?
yoo 3 sorgu sıkıntı olmaz. sonucta ekrana listeleme yapacaksın.
programcılıkta arka arkaya sorgular yapılır normaldir.
sorunu anladım sanırım. gorus ve ders tablolarında tüm öğrencilerin nolarının bulunması gerekiyor. tabi her öğrenci eklemede onlara da eklemek gerekiyor.
bunun yerine 3 sorgu gayet normal bir çözüm... ben öneririm... ben kullanıyorum programlarımda arka arkaya sorgular...
bariz lüzumsuz olmadığı sürece.