• 23-08-2007, 13:20:10
    #1
    arkadaşlar ben onaylama sistemi yaptım mesela db ye kayıt olan bişeyi onaylıycam.Herşeyi halletim

    Fakat onay seçeneklerini seçince en son hangi seçeneği seçersem onu onaylıyo yani çoklu seçim yapamıyorum ? değeri $id olarak atadım zaten onay kutucuna ama çoklu seçim nası yapacaz ?
  • 23-08-2007, 13:45:45
    #2
    Üyeliği durduruldu
    2 yöntem var bunun için ya daha çok vardır da kullandığım 2 tanesini yazayım ben yada yanıltıcı bilgi vermeyeyim
    ------
    form dan veriyi gönderirken
    <input type=checkbox name=a>
    yerine
    <input type=checkbox name=a[]>
    yap sonra php den okurken yine epey bir yöntem var
    $a=$_POST[a];
    for($i=0;$i<count($a);$i++) {
    sql kodlarn burada a yı yani id yi
    $a[$i]
    gibi alabilirsin
    }
    yada

    while($i<count($a)) {
    sql kodlarn burada a yı yani id yi
    $a[$i]
    gibi alabilirsin
    $i+=1;//ilk de $i yok 0 olarak görecektir sorun olursa while üstüne =0; diye tanımlarsın
    }
    //while i verme sebebim for bazen çok aşırı yavaşlama gösterebiliyor bu işi yaparken ben
    //yaşamıştım en azından php 4 lü bir sürümünde while da 5-6 kat hızlı işlem yapıyor bu
    //olayda
    yada 2 dedik 3 geldi yazarken aklıma
    forech($a as $id) {
    sql kodlarn burada a yı yani id yi
    $id
    gibi alabilirsin
    }
  • 23-08-2007, 13:54:41
    #3
    Üyeliği durduruldu
    birşey daha şey yapabilirsin
    çoklu gönderirken onay kod kısmını yazarsan bir i değeri alırsan formu gönderirken
    input name=a yerine name=a_$i dersin
    en son submit ten öncede hidden dan $i nin değerini gönderirsin
    diğer taraftan count($a) ile limit alma yerleri yerine
    $_POST[hiddendangelendeger]
    ile limiti alırsın sonrada
    $_POST['a_'.$i] gibi okursun boşmu dolumu diye empty ile falan bakarsın boş ise sql update yaptırmazsın
  • 24-08-2007, 08:50:14
    #4
    saho kardeş yaptım ama olmadı işte kodlarım

    <form action=\"onay.php\" method=\"post\">
    <p align=\"center\">
    <input type=\"checkbox\" name=\"a[]\" value=\"\"></p>

    Buda onay.php

    $a=$_POST[a];
    while($i<count($a)) {
    $i+=1;
    $guncelle = mysql_query (" update dosya set onay='1' WHERE id='$a[$i]' ");

    Not : Db ayarları yapılmıştır dier kodları vermedim dediğim gibi sadece çoklu onaylıyamıyorum
  • 24-08-2007, 12:45:56
    #5
    Üyeliği durduruldu
    alt tire ile yap

    for($i=0;$i<limiitin;$i++)
    <input type=\"checkbox\" name=\"a_$i\" value=\"\"></p>

    ile şeyt hidden dan gönder
  • 24-08-2007, 15:56:35
    #6
    Üyeliği durduruldu
    <input type=\"checkbox\" name=\"a[]\" value=\"$id\"></p>

    Bence Buraya $id cek :S Tam Kodlarina Bakmadim Ama Boyle Olmasi Lazim
  • 24-08-2007, 18:50:29
    #7
    Üyeliği durduruldu
    value yi boş gönderecek kadar php bilmez değildir galiba arkadaş hiç dikkat etmedim ama tek veriyi gönderebiliyomuş multi veriyi gönderemiyomuş ....
  • 24-08-2007, 19:42:41
    #8
    value zaten işaretlenince gelecek, otomatikmen value verilirse checkboxın anlamı kalmaz.

    öncelikle şunu belirteyim kullandığn yol güzel bir yol değil, neden dersen,

    $gelen=$_POST['a'];
    dediğinde gelen değişkeni bir dizi oluyor, ve dizi de sadece senin işaretlediklerin çıkıyor,
    3. kutu 5. kutu ayrıı yok, senin sadece 5. yi işaretlersen yine 1. işaretlenmiş gibi davranacaktır.



    o yüzden,

    <input type=\"checkbox\" name=\"a[]\" value=\"\"> satırındaki name e, ya array dışında bir değişken ver, ya da illa dizi ile işlem yapmak isterim diyorsan
    a[] yerine, sıra belirt, yani
    <input type=\"checkbox\" name=\"a[0]\"><br>
    <input type=\"checkbox\" name=\"a[1]\"><br>
    <input type=\"checkbox\" name=\"a[2]\"><br>

    şeklinde olsun, o zman onay.php de istediğin işlem doğru çalışmaya başlar
    $a=$_POST[a];
    while($i<count($a)) {
    $i+=1;
    if($a[$i]=="on")
    $guncelle = mysql_query (" update dosya set onay='1' WHERE id='$a[$i]' ");

    sorgusu o zman çalışacaktır
  • 24-08-2007, 19:57:53
    #9
    Üyeliği durduruldu
    dört yüz yıldır kullanıyorum sorun yok dene istersen doğru bir yol kullandığım yol [0] ilede [] _ gibi teknikleri kullanıyorum