• 20-08-2014, 17:55:16
    #1
    Üyeliği durduruldu
    Merhaba,

    Şimdi elimde bir dizi var

    $dizi = Array (
     'sec1' => 'Seçenek 1',
    'sec2' => 'Seçenek 2',
    'sec3' => 'Seçenek 3',
    'sec4' => 'Seçenek 4',
    'sec5' => 'Seçenek 5',
    'sec6' => 'Seçenek 6'
    );
    bunları checkbox haline getiriyorum veritabanına seçilenleri sec1,sec3,sec4 gibi virgülle ayırıyorum. Seçilenleri tekrar düzenlemek isteyen olunca checkbox listesinde seçilen checkbox'larda tik olmasını istiyorum ancak yapamadım bu konuda yardım beklemekteyim. Umarım anlatabilmişimdir.
  • 20-08-2014, 18:08:26
    #2
    XYZ
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Eğer checkboxlar dinamik olarak oluşturulmuyorsa şöyle yapabilirsiniz:

    <?php
    $db_den_gelen_veri = 'sec1,sec3,sec6';
    $db_den_gelen_veri = explode(',',$db_den_gelen_veri);
    ?>
    
    
    
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="UTF-8">
    </head> 
    <body>
    
    <form action="">
    <input type="checkbox" name="sec1" <?php if(in_array("sec1", $db_den_gelen_veri)) echo 'checked';?>>Seçenek 1<br>
    <input type="checkbox" name="sec2" <?php if(in_array("sec2", $db_den_gelen_veri)) echo 'checked';?>>Seçenek 2<br>
    <input type="checkbox" name="sec3" <?php if(in_array("sec3", $db_den_gelen_veri)) echo 'checked';?>>Seçenek 3<br>
    <input type="checkbox" name="sec4" <?php if(in_array("sec4", $db_den_gelen_veri)) echo 'checked';?>>Seçenek 4<br>
    <input type="checkbox" name="sec5" <?php if(in_array("sec5", $db_den_gelen_veri)) echo 'checked';?>>Seçenek 5<br>
    <input type="checkbox" name="sec6" <?php if(in_array("sec6", $db_den_gelen_veri)) echo 'checked';?>>Seçenek 6<br>
    </form>
    
    </body>
    </html>
  • 20-08-2014, 18:09:21
    #3
    Esca adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Şimdi elimde bir dizi var

    $dizi = Array (
     'sec1' => 'Seçenek 1',
    'sec2' => 'Seçenek 2',
    'sec3' => 'Seçenek 3',
    'sec4' => 'Seçenek 4',
    'sec5' => 'Seçenek 5',
    'sec6' => 'Seçenek 6'
    );
    bunları checkbox haline getiriyorum veritabanına seçilenleri sec1,sec3,sec4 gibi virgülle ayırıyorum. Seçilenleri tekrar düzenlemek isteyen olunca checkbox listesinde seçilen checkbox'larda tik olmasını istiyorum ancak yapamadım bu konuda yardım beklemekteyim. Umarım anlatabilmişimdir.
    for($i=0;$i<count($dizi);$i++)
    {
    ?>
    <input type="checkbox" name="sec<?=($i+1)?>" <?php if(in_array($sec.($i+1),$dizi)) echo 'checked="checked"';?>
    <?php
    }
    Şeklinde bi deneyin hocam.
  • 20-08-2014, 18:27:35
    #4
    Üyeliği durduruldu
    sehzadem adlı üyeden alıntı: mesajı görüntüle
    for($i=0;$i<count($dizi);$i++)
    {
    ?>
    <input type="checkbox" name="sec<?=($i+1)?>" <?php if(in_array($sec.($i+1),$dizi)) echo 'checked="checked"';?>
    <?php
    }
    Şeklinde bi deneyin hocam.
    boş dönüyor hocam. Veritabanında tabloda seçilenleri sec1, sec2, sec4 gibi tek bir tabloda kaydediyorum ilk önce bunları parçalamak gerekiyor ancak denediğim kodlar işe yaramadı.
  • 20-08-2014, 18:31:17
    #5
    veritabanından çektiğiniz veriyi XYZ 'nin dediği gibi explode ile diziye dönüştürüp bi deneyin hocam.
  • 20-08-2014, 18:34:09
    #6
    Üyeliği durduruldu
    XYZ arkadaşın verdiği kodu uyarlamaya çalışacağım diziden otomatik oluşturuyor checkbox listesini
  • 20-08-2014, 18:47:15
    #7
    Esca adlı üyeden alıntı: mesajı görüntüle
    XYZ arkadaşın verdiği kodu uyarlamaya çalışacağım diziden otomatik oluşturuyor checkbox listesini
    dinamik yapacaksan
    $dizi= 'sec1,sec3,sec6';
    $dizi= explode(',',$dizi);
    for($i=1;$i<=count($dizi);$i++)
    {
    ?>
    <input type="checkbox" name="sec<?=$i?>" <?php if(in_array(($sec.$i),$dizi)) echo 'checked="checked"';?>
    <?php
    }
    bu şekilde yapman işini görecektir
  • 20-08-2014, 18:55:13
    #8
    Üyeliği durduruldu
    Teşekkürler hocam direk aldığım gibi önceki yazdığıma uyarladım istediğim sonucu verdi.