• 25-05-2023, 17:50:05
    #1
    Merhaba arkadaşlar;
    Php de bir dizim var,


    Bu array form checkbox elamanından seçtiklerim örneğin benim 10 tane checkboxum var. ben bunlardan belli başlarını seçtim, zaten 0 2 ve 4 dü seçmişim, ben bunları bir değişkene sıra numarası ile bir değişkenle db kaydetmek istiyorum,imlode ve explode kullanıyorum fakat u sefer geri çağırdığımda sıra numaraları kayboluyor, sıra numaraları ise db den hangilerini çektiğimi görmek için örneğin 0 seçtim sıfırda $veri[L][0]="L0" dediğimde checked etmem gerekiyor mesela $veri[L][1]="L1" ise checked et diyeceğim, listede olmadığı için checked edemeyecek, ama implode ve explode ettiğim zaman bu sefer sıra numarası 0, 1, 2,3 olarak değişiyor.
    Örnek ben sadece 0 veya 1 de seçmiş olabilirim. Veyahut 10 tane checkbox var sadece 1-4-7-9 seçmiş olabilirim, yani seçim sıraları ile birlikte geri nasıl çağırabilirim.

    Yada önereceğiniz başka bir yol var mı.
  • 26-05-2023, 04:44:17
    #2
    seçtiğiniz checkboxun sadece value değerini dbye kaydedip if ile seçilmiş olanlara "checked" ekleyebilirsiniz.
  • 26-05-2023, 07:24:29
    #3
    <input type="checkbox" name="L[]" value="1" />
    <input type="checkbox" name="L[]" value="1" />
    ....
    <input type="checkbox" name="L[]" value="1" />

    gibi bir form html de 1, 4, 9 seçili olsun bunu post ettiğinizde bunun php tarafına bu 0,1,2 olarak gelir.
    [
    0 => 1,
    1 => 1,
    2 = > 1,
    ]
    çünkü check olmayan checkbox lar gönderilmez.
    bu yüzden input un name ine sırasını yazmanız gerekiyor.
    <input type="checkbox" name="L[0]" value="1" />
    <input type="checkbox" name="L[1]" value="1" />
    ....
    <input type="checkbox" name="L[10]" value="1" />
    gibi yaptığınızde yine 1,4,9 seçili olduğunda gelen array
    [
    1=> 1,
    4=> 1,
    9 = > 1,
    ]
    artık array de neyin hangi sırada olduğunu biliyoruz,
  • 27-05-2023, 08:11:31
    #4
    Sorunu çözdüm,
    $data = serialize($_POST["L"]
    İlk once Post ile gelen L değerlerini serialize ile bir değişkene kaydediyorum,
    Geri çekerken de;
    $data = unserialize($denetim_ac["liste"]);
    Unserialize ile geri çektiğimde aynı sıralama geliyor.