ARAKADAŞLARA ACİLEN LAZIM:: Arkadaslar internet proğramcılığı dersim düşük geliyo hocam ödev verdi e okuldaki gibi bir devamsızılık gibi bir php kodu hazıralyıp gelirsen sözlünü yüksek vericem yalvarıyorum yardımcı olun bütün uğraslarıma rağmen bişe yapmamadım yalvarıyorum son 2 günüm kaldı:ağla::ağla::ağla::ağla::ağla::ağla:

Eğer devamlılık tablosundaki ders sayısı sabitse ikinci bir tabloya gerek yok diye düşünüyorum. Şimdi; öğrenci tablomuzda; id, isimsoyad, numara, sınıf, ders1, ders2... dersx şeklinde alanlar olduğunu varsayalım. Giriş yapacağınız sayfaya şöyle bir kod yazın; &lt;Form action=&quot;sayfa. php&quot;&gt; &lt;?PHP // DB Bilgileri $usr = 'kullanıcı_adı'; $pwd = 'kullanıcı_şifre'; $db = 'DB_Adı'; $host = &quot;localhost&quot;; // Bağlanalım $cid = mysql_connect ; if // Her seferinde Db için uğraşmayalım function Db { global $db,$cid; $retid = mysql_db_query ; if return $retid; } if { // Eğer submit e basıldıysa gelenleri kaydet $adet=sizeof ; // $ogrenci form dan gelen bir array dır for($i=0;$i&lt;$adet;$i++){ // Bu öğrenci kayıtlımı? $mesaj = &quot;$numara no lu, $sınıf sınıfı öğrencisi $ogrenci bulunamadı.&lt;Br&gt;\n&quot;; $sorgu = Db ; if(mysql_num_rows 0) else } // Yeni Kayıt Varsa ekleyelim if(trim !='') } // İşlem olsun olmasın Tabloyu listeleyelim ve giriş formunu oluşturalım $i=0; $sorgu = mysql_query ; while($satır = mysql_fetch_row // Yeni kayıt eklemek isteyebiliriz. Onun içinde bir giriş satırı yapalım echo '&lt;Input Type=&quot;Text&quot; Name=&quot;yeniogrenci&quot;&gt;'; echo '&lt;Input Type=&quot;Text&quot; Name=&quot;yeninumara&quot;&gt;'; echo '&lt;Input Type=&quot;Text&quot; Name=&quot;yenisinif&quot;&gt;'; echo '&lt;Input Type=&quot;Text&quot; Name=&quot;yders1&quot;&gt;'; ... echo '&lt;Input Type=&quot;Text&quot; Name=&quot;ydersx&quot;&gt;'; echo &quot;&lt;Br&gt;\n&quot;; echo '&lt;Input Type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Kaydet&quot;&gt;'; echo '&lt;/Form&gt;'; ?&gt; Yukarıdaki kod u denemedim. Ama sanırım fikir vermek için yeterli. Basitçe; Form içine koyduğunuz her obje, PHP ye bir değişken olarak gelir. Eğer Objenin adını $değişken şeklinde yazarsanız PHP için $değişken adında bir Array ın 1 nolu değeri olur. Submit tuşu da bir objedir ve verdiğiniz isimle PHP de bir değişken olarak kullanabilirsiniz. Bu kodda submit tuşunun adı gene submit kafanız karışmasın. Eğer submit e basılmışsa $submit değişkeni &quot;Kaydet&quot; değerini alıyor. Kod bu durumda gelen verileri kaydediyor. Eper $submit değişkeni &quot;Kaydet&quot; e eşit değilse sayfa ilk kez çağrılmış demektir. bu durumda sadece tabloyu listeliyor. Listelerken her kayıt için isimleri; id ogrenci numara sınıf ders1 ... olan &quot;Input&quot; lar oluşturuyor. en sona bu array lardan bağımsız yeniogrenci girişini ekliyor. Form aynı zamanda var olan bilgilerle dolu olarak geliyor. Form u submit ettiğinizde önce array ın kaç satır olduğuna bakıyor ve array satırı kadar bir döngü içinde, kaydın var olup olmadığına bakıyor, var ise gelen bilgileri kaydediyor, yok ise hata mesajı verip diğer satıra geçiyor. Döngü bitiminde sona eklediğimiz girişte bilgi olup olmadığına bakıyor ve var ise tabloya ekliyor. Umarım yardımı olur..

Öğrenci1 &lt;input type=&quot;text&quot; name=&quot;ogrenci&quot; value=&quot;D&quot;&gt; Öğrenci2 &lt;input type=&quot;text&quot; name=&quot;ogrenci&quot; value=&quot;&quot;&gt; Öğrenci3 &lt;input type=&quot;text&quot; name=&quot;ogrenci&quot; value=&quot;D&quot;&gt; öğrenci1 ve öğrenci3 devamsız olmasına rağmen name bolumleri aynı olduğu için sadece ogrenci1 devamsız kabul edilir. Sen şunun gibi birşey deneyebilirsin. Öğrenci1 &lt;input type=&quot;text&quot; name=&quot;lise1_1&quot; value=&quot;D&quot;&gt; Öğrenci1 &lt;input type=&quot;text&quot; name=&quot;lise1_2&quot; value=&quot;&quot;&gt; Öğrenci1 &lt;input type=&quot;text&quot; name=&quot;lise1_3&quot; value=&quot;D&quot;&gt; name=&quot;lise1_1&quot; kısmı lise1'nci sınıftakiler ve 'den sonrası ise öğrenci id bölümü. Verileri devamsizlik tablosuna eklerken de $sorgu = mysql_query(&quot;select from ogrenciler where sinif_adi='lise1'&quot;); while($veri = mysql_fetch_row Devamsızlıkları incelerken de tekrar lise1'deki tüm öğrencilerin id numaraları çekilir, lise1_$id şeklinde birleştirilerek bu değişkenin değeri D'ye eşitse devamsızlıklara ekle denir.. $sorgu = mysql_query(&quot;select from ogrenciler where sinif_adi='lise1'&quot;); while($veri = mysql_fetch_row Umarım anlatabilmişimdir..

cevaplarınıza tesekkurler halledebildim sonunda.

Bir tabloda öğrenci bilgilerini tutuyorum. öteki tabloda da devamsızlık işlenecek dersleri ve tarihi. Diyelim sınıfta 10 öğrenci var. ve devamsızlığın girilcegi öğrenciler ekrana geldi. bunların yanında da hangi derse devamsızlık işlenecegi var. 10 öğrencinin hepsi veya bir kısmı veya bir tanesi hangi dersten devamsız ise o alana D harfi koyuluyor. Fakat sadece en baştaki öğrenci işleniyor database'e. bütün D olanların işlenmesi için nasıl bi kod yazılabilir. örnek toplu bilgi girişi kodu varsa adresi filan yazabilrseniz sevinirim. tesekkurler Sibel.

Dediklerin dogrultusunda cok guzel bi sekilde calıştı kod her şey süper derken oğrenci numaralarını aldıramadım bi türlü 2. sayfaya. senin dedigin radio butonlu filan onu anlamadım ama bişiler yaptım. sıralaması dogru ama en son numaralar boş taşınıyor. su radio butonu az daha acabilirsen sevinirim. çünkü anladıgım kadarıyla o radio butonda hangi öğrenciye devamsızlık giriyorsa devamsızlık tablosuna sırf onları ekliyor. benim hazırladıgım kod; sınıfta kaç öğrenci varsa onları ekliyor devamsızlığı olsa da olmasada.

Öğ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 &lt;input type=&quot;text&quot; name=&quot;ogrenci&quot;&gt; 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 ); 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 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 &gt;= 50){ if(! isset } // 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...