• 12-06-2013, 23:00:59
    #1
    Arkadaşlar bir yerde sıkıntı yaşıyorum yardımınıza ihtiyacım var. Okul db sistemi oluşturuyorum. Öğrencilerin derslere kaydolmaları gerekiyor. Şimdi dersler tablosundan verileri derse_kaydol kısmında gösteriyorum. Her dersin yanında da checkboxlar var. Öğrenci tik koyduğu checkboxları seçecek. Şimdi öğrencinin seçtiği checkboxtakileri veritabanına nasıl atacağım konusunda sıkıntı yaşıyorum.
    Böyle bir şey yazdım incelerseniz sevinirim.
    <fieldset><label>Dersi Veren Hoca</label>
                                
                            <?php
                                    $katQuery = query("SELECT * FROM courses ORDER BY course_id ASC");
                                    
                                    while($katRow = row($katQuery)){
                                        echo '<input type="checkbox" ';
                                        echo $katRow["course_id"] == $row["course_name"] ? 'selected ' : null;
                                        echo 'value="'.$katRow["course_id"].'">'.ss($katRow["course_name"])." ".ss($katRow["lecturer_surname"]).'</input>';
                                        }
                                ?>
    
                            </fieldset>
  • 12-06-2013, 23:13:17
    #2
    Üyeliği durduruldu
    egktr adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar bir yerde sıkıntı yaşıyorum yardımınıza ihtiyacım var. Okul db sistemi oluşturuyorum. Öğrencilerin derslere kaydolmaları gerekiyor. Şimdi dersler tablosundan verileri derse_kaydol kısmında gösteriyorum. Her dersin yanında da checkboxlar var. Öğrenci tik koyduğu checkboxları seçecek. Şimdi öğrencinin seçtiği checkboxtakileri veritabanına nasıl atacağım konusunda sıkıntı yaşıyorum.
    Böyle bir şey yazdım incelerseniz sevinirim.
    <fieldset><label>Dersi Veren Hoca</label>
                                
                            <?php
                                    $katQuery = query("SELECT * FROM courses ORDER BY course_id ASC");
                                    
                                    while($katRow = row($katQuery)){
                                        echo '<input type="checkbox" ';
                                        echo $katRow["course_id"] == $row["course_name"] ? 'selected ' : null;
                                        echo 'value="'.$katRow["course_id"].'">'.ss($katRow["course_name"])." ".ss($katRow["lecturer_surname"]).'</input>';
                                        }
                                ?>
    
                            </fieldset>
    <?php
    $ogretmenler=array();
    $katQuery = query("SELECT * FROM courses ORDER BY course_id ASC");
    while($katRow = row($katQuery)){
    $ogretmenler[]=$katRow['course_id'];}
    foreach($ogretmenler as $ogretmen){
    if( isset($_POST[ $ogretmen])){insert db}}

    vu arada checkboxlara course idi name olarak atayi.n
  • 12-06-2013, 23:15:57
    #3
    Bir checkbox'ın işaretlenip işaretlenmediğini name parametresinin PHP'deki değişken karşılığının tanımlı olup olmadığını kontrol ederek öğrenebilirsiniz.

    <input type="checkbox" name="ben">
    
    <?php
    
    if (isset($_POST['ben']))
      // 'ben' işaretlenmiş
    else
      // 'ben' işaretlenmemiş
    
    ?>
  • 13-06-2013, 00:48:31
    #4
    WapZap adlı üyeden alıntı: mesajı görüntüle
    <?php
    $ogretmenler=array();
    $katQuery = query("SELECT * FROM courses ORDER BY course_id ASC");
    while($katRow = row($katQuery)){
    $ogretmenler[]=$katRow['course_id'];}
    foreach($ogretmenler as $ogretmen){
    if( isset($_POST[ $ogretmen])){insert db}}

    vu arada checkboxlara course idi name olarak atayi.n
    Hocam cevap verdiğiniz için teşekkürler. checkboxlara course idi name olarak php kodu olarak mı atamak lazım bir de insert db kodunu da size zahmet yazabilir misiniz? Table isimleri aynı olmak zorunda değil sonra ben onu editleyebilirim.

    Hkan adlı üyeden alıntı: mesajı görüntüle
    Bir checkbox'ın işaretlenip işaretlenmediğini name parametresinin PHP'deki değişken karşılığının tanımlı olup olmadığını kontrol ederek öğrenebilirsiniz.

    <input type="checkbox" name="ben">
    
    <?php
    
    if (isset($_POST['ben']))
      // 'ben' işaretlenmiş
    else
      // 'ben' işaretlenmemiş
    
    ?>
    Hocam ama burada çoklu name vermeyi nasıl yapabilirm ki sizinki sadece bir name için çalışmaz mı?
  • 13-06-2013, 10:17:12
    #5
    Üyeliği durduruldu
    egktr adlı üyeden alıntı: mesajı görüntüle
    Hocam cevap verdiğiniz için teşekkürler. checkboxlara course idi name olarak php kodu olarak mı atamak lazım bir de insert db kodunu da size zahmet yazabilir misiniz? Table isimleri aynı olmak zorunda değil sonra ben onu editleyebilirim.



    Hocam ama burada çoklu name vermeyi nasıl yapabilirm ki sizinki sadece bir name için çalışmaz mı?
    echo 'value="'.$katRow["course_id"].'">'

    burayi

    echo 'name="'.$katRow["course_id"].'">'

    orarak degistir. formu post metoduyla gondet.
  • 14-06-2013, 11:10:04
    #6
    Çokluları böyle denetleyebilirsiniz:

    <input type="checkbox" name="ben[]">
    <input type="checkbox" name="ben[]">
    
    <?php
    
    if (isset($_POST['ben'][0]))
      // ilk 'ben' işaretlenmiş
    
    if (isset($_POST['ben'][1]))
      // ikinci 'ben' işaretlenmiş
    
    ?>
    
    <input type="checkbox" name="ben[hkan]">
    
    <?php
    
    if (isset($_POST['ben']['hkan']))
      // 'ben[hkan]' işaretlenmiş
    
    ?>
  • 14-06-2013, 11:26:35
    #7
    Tavsiyem,checkboxlardan gelen bilgileri kaydetmek için veritabanında 2 sütunlu tablo oluşturun.Bir sütun ders adı diğer sütun öğrenci adı yada numarası.İf kontrolleriyle de her checkbox için (seçilmişse) veritabanına bilgi girişi yapın.Pek performanslı olmayacak ama bu kod yapınızda işinizi görecektir.