Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Okul Not Sistemi
#11
bak, listeleme, hepsini listeleme olmayacak zaten, sadece bir öğrenciyi listelemeden bahsediyoruz.

hatta bunu fonksiyon seklinde yaz.

Kod:
// önce dbye baglan.

function tablolistele($tablo,$alan,$filtre)
{
$result2="";
$alansayisi=count($alan);

$query="select * from $tablo";
if($filtre<>"") $query.=" where $filtre ";
$result = mysql_db_query("$dbadi", $query);

if ($result)
{
$result2.= "<table border=1><tr>";
for ($i=0;$i<$alansayisi;$i++)$result2.="<td>$alan[$i]</td>";
$result2.="</tr>";

while ($r = mysql_fetch_array($result))
{
$result2.="<tr>";
for ($i=0;$i<$alansayisi;$i++)
        {
        $al=$alan[$i];
        $result2.="<td>$r[$al]</td>";
        };
$result2.= "</tr>";
}

$result2.= "</table>";
mysql_free_result($result);
} else { echo "Bir hata olustu:";echo mysql_error();}
return $result2;
};//fonksiyon


echo "Ogrenci bilgileri:".tablolistele("kayit",array("no","adi","soyadi"),"no=$arananno");
echo "Ogrencinin ders bilgileri:".tablolistele("ders",array("dersadi","yazili1","yazili2"),"no=$arananno");
echo "Ogrenci görüs bilgileri:".tablolistele("kayit",array("gorus","varsatarih"),"no=$arananno");

hepsini listelersen elbette olmaz.
yukardaki sekilde, sadece bir ogrenciye ait kayitlar listelenir.
Ara
Cevapla
Teşekkür verenler:
#12
abi ben bir kişiden değilde


ben sinif listelemeyi kastettiştim.... mesela öğretmen 6-c diyince 6-c nin sinif listesi listelencek....bu mantıgı halledersekk öğretmen toplu not girişide yapabilecekk


mesela

no ad soyad yaz1 yaz2 yaz2



diye 6-c listelencek

öğretmen 6-c ye not girecek kaydet diyince hepsi kayıt oluncak...... (bu sistem hazır)

no ad soyadı ==>kayit tablosundan alcak
yaz1 yaz2 yaz3 de not tablosundan alcak


bizim sorun ise

ilkte kayit tablosunda bulunan kayitları listleycek(6-c sınııf diyince listeleyecek 6-c listeleyecek) sonra kayitlat botla ilişilenmişse not ta listtelecencek....
Cevapla
Teşekkür verenler:
#13
kayıtla beraber notlar varsa onlar mı listelensin istiyorsun,
istedigini biraz daha acar mısın,
bir de, ogrenci nolariyla yan yana mı listelensin istiyorsun notları, yoksa altta ayrıca liste olur mu ?
Ara
Cevapla
Teşekkür verenler:
#14
Alttaki reimde oldugu gibi.. .seçenekler gelcek... o sınıfın notları listelencek

no ad soyad => kayit sutunundan
yaz1 yaz2 yaz3 => not sutunundan gelcek

öğretmen 7 sınıfı diyince 7-c öğrencileri listelencek... sonra altta toplu not girişi diyince....

o liste tekrar gelcek(ama yaz1 yaz2 yaz3 textbox ların içinde gelcek) öğretmen ordan notları düzeltcek veya boş olan kısımlara not girşi yapcak... kaydet diyice o sınıfı kaydetcek

2.jpg


abi ben o sistei yapa biliyorum.. update şeklinde... yani bi tablodaki bilgileri textboxta listeliyom. güncelle diyince kaydediyor...


abi msniz açarsanız daha iyi analata bilirim Smile
Cevapla
Teşekkür verenler:
#15
tamam konuyu anladım.
sen zaten toplu not girisini yapmışsın.

sen yan yana istiyorsun. bu durumda, 3 ayrı query ile zor...

ozaman geriye tek secenek kalıyor. ders ve gorus tablosuna, diğer değerler boş olsa da öğrenci nolarını girmek.
ancak oyle, 3 tablodan bilgi cekme calısıyor. yani derse de, tüm öğrenci nolarını gireceksin.
(insert into ders (no) select no from kayit) benzeri toplu olarak girebilirsin.

her öğrenci eklemede de, diğer ders, gorus vb. tablolara ekleyeceksin nosunu.
ayrıca, görüs tek olacaksa, tarıh falan olmayacaksa , ozaman tek görüsü kayit tablosunda tutabilirsin.

ama, birkaç görüs olması, ve tarihli olması, birkaç görüs olması da lazım bence.
Ara
Cevapla
Teşekkür verenler:
#16
abi şimdi işi çözdüm.. okdaar düşününce

1.ci kayit bilgisi, görüs, devamsınızlık bunları yanyana göstermeye gerek yok... alt alta görüş olabilir veya

hepsini listelemektense sadece ad soyad no sinifi listeleriz.... yanına ayrıntı mantıgında yaptıgımız gbii yapabiliriz ayrıntı yerine bu görüş diye sutun açarız oraya tıklayınca o şahısın görüşünü göre bilir..


sonra notlar için (hani 3 not girme vardıya... yazılı1 yazlı2 yazlılı3 ..öğretmen bunları ilk anda gircek diye bir kayde yok.... ilkte yazılı biri gircek ilerkiyen vakitlerde yazılı2 yazılı3

işte ilk girişte $tablo="INSERT INTO kayit VALUES (no,yazılı1,yazılı2,yazılı3)"; şeklinde yaparız (bu şekilde ders kayitlarında no sutununa ister istmez noları girmiş oluruz)

sonraki not giriş işlemlerinde ise update mantıgı ile yaparsak (yazılı1 girerken noları kaydettğimize göre sorun olamycak sanrıı)


bunun için

bir döngü kurmamız gerekir

1.şart eğer derslere hiç bir bilgi girilmemiş ise => not_gir.php
2.şart eğer daha önceden bir bilgi girilmişse >not_gir_guncelle.php

dosyalarına yönlendirisek bu işi halletmiş oluruz.... anlata bildim mi abi
Cevapla
Teşekkür verenler:
#17
abi birde bu konuyu php.org.tr yede yazmıştım şöyle bir
çözüm yazmışlar anlaadım .. gerçi bir üsteki kafama yattı

ama o kod ne işe yarıyo merak ettim

kod şu
Kod:
" SELECT 'k.no', 'k.ad', 'k.soyad', 'k.sinif', 'k.baba_adi', 'k.anne_adi', 'k.evtel', 'k.ceptel', 'k.ceptel2', 'k.adres', 'd.devansizlik_tarih', 'g.gorus'

FROM

'kayit k'

LEFT JOIN  'devam d' ON (k.no='d.no'),
LEFT JOIN  'gorus g' ON(k.no='g.no')

";
Cevapla
Teşekkür verenler:
#18
abi mantığını hallondu...ama koda dökemedim Smile

şimdi. 3 tane tablomuz var..

1.Öğrencilerin Kayitlarının Bulundugu Tablo (kayit.php)
2.öğretmenlerin girdiği sinifları gösteren tablo(ders.php)(örn: matematik dersi => 7-C , 6-C , 5-C vb....
3. buda öğrencilerin notların tutuldugu (notlar.php)

sonuc.jpg

böyle bir ekran çıkıyo..(ben bu ekranı çıkara bildim)

orda güncelle diyince.... giden sayfada söyle bi döngü olcak...

örn:

sol taraftan gelen dersleri alcak sırayla ve her ders altına forumdan yine gelen öğrenci nolarını ekleyecekk....

böylelikle not tablosunda... kayittaki nolar oraya geçmiş olcak...
3.jpg

böylelikle not tablosunda nolar oldugu için eski yaptıgımız tek sorguda bilgi çekebiliriz...


veeee

mesela biz güncelledikten sonra... meslela bir kayit daha girdik... ozaman bir kayit girdiğimizde bir döngü yaparız eğer
no notlar tablosunda varsa onu kaydetmez..öbürüne geçer... ve listelemede bir de orda döngü kururız.... eğer kayit tablosunda olupta notlar tablosunda yoksa o bilgi diğerlerinde farklı renkte olur... ozman kullanıcı anlar ki bu kayit not tablosunda yok...ozman girer güncelle yapar....


anlata bildim mi acaba...
Cevapla
Teşekkür verenler:
#19
dün gece baya ugraştım oldu Smile

Kod:
<?php
mysql_connect("localhost", "root") or die("baglanamadim...");
mysql_select_db("proje") or die("seçemedim");

$sorgu1="SELECT * FROM `ders_ogretmen` where sinif='6-C' ";
$ssorgu1=mysql_query($sorgu1);   //   Burada  6-C SINIFININ öğrencilerini hangi derten not alıyorlarsa onaları döngü yardımı ile oluşturuyolar

while($ekranabas1=mysql_fetch_assoc($ssorgu1)) {
echo "$ekranabas1[ders_adi]<br>";  // burda hangi ders varsa onu gösteriyor...

            $tablo="select * from kayit where sinif='6-C'";
            $sorgu=mysql_query($tablo);
            $tablo_sayisi=mysql_num_rows($sorgu);
            echo "bulunan adet:".$tablo_sayisi ."<br>";

    for($i=0;$i<$tablo_sayisi;$i++)
    {
        $no[$i]=trim($_POST["no$i"]);
        echo "$no[$i]------";

$s= mysql_query ("SELECT * FROM ders_notlar WHERE no='$no[$i]' and ders_adi='$ekranabas1[ders_adi]'"); // burda o ders ismiye ait no varmı diye bakıyo

if (mysql_num_rows($s) >=1 ) { echo "Bu Kayit Var<br>" ; } else {    // burda kontrol yapılıyıor eğer kayit not tablosunda varsa ekleme yapmıyor...

$tablo="INSERT INTO ders_notlar (no,ders_adi) VALUES ('$no[$i]','$ekranabas1[ders_adi]')"; // eğer yoksa tabloya ekliyor

if(mysql_query($tablo)) {
    echo"Eklendi.";
    }else{
    echo"Daha Önxe Bu no bu derse eklenmiş";
    }
}
}
}
?>
Cevapla
Teşekkür verenler:
#20
site hazır sayılır... bana 20-30 mb lik web alanı lazım.. yardımcı olabilecek varmı. deneme sürümünü internete atmk için
Cevapla
Teşekkür verenler:


Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi


10tl.net Destek Forumu -