• 07-08-2019, 15:40:35
    #1
    gözden kaçmış bir ufak sorundu @sovetski; hocama teşekkürler.
  • 07-08-2019, 15:41:11
    #2
    if else
  • 07-08-2019, 15:41:52
    #3
    munkererkadam adlı üyeden alıntı: mesajı görüntüle
    if else
    Ekip arkadaşımda budur. İşte zihnin bittiği o an.
  • 07-08-2019, 15:48:21
    #4
    Merhaba,

    Öncelikle $_POST['guard'] olarak aldığınız verinin inputta ki isimlerini öğrenebilir miyim? Yani inputlarınızın name ve value değerlerini yazar mısınız?


    emreakdascomtr adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,
    Aşağıdaki gibi bir checkbox ile veri gelmekte. Valuelerine veritabanındaki sütundaki adlarını veriyorum.


    Fakat bir adet dönüyor kod bloğunda. Yani atıyorum Cari hesap bakiyesi ve online tahsilat seçtiğimde sadece cari hesap bakiyesini alıyor. Kafa patlattık fakat alamıyoruz bir türlü ikisinide.
        foreach ($_POST['guard'] as $q) {
               //Buraya echo ile $q basarsam iki veride geliyor. Ama iki tane dönmüyor. şu set $q da.
                $last_id = $db->lastInsertId();
                $query = $db->prepare("UPDATE customers SET $q =1 WHERE id=?");
                $insert = $query->execute(array(
    "1"
                ));        
                return $q;
            }
  • 07-08-2019, 15:49:35
    #5
    MesutEyrice adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Öncelikle $_POST['guard'] olarak aldığınız verinin inputta ki isimlerini öğrenebilir miyim? Yani inputlarınızın name ve value değerlerini yazar mısınız?
                                        <div class="col-md-4 col-lg-4">
                                            <div class="custom-control custom-switch switch-success">
                                                <input type="checkbox" class="custom-control-input" name="guard[]" id="kullanıcı" value="sUsers">
                                                <label class="custom-control-label" for="kullanıcı">Kullanıcı Yönetimi</label>
                                            </div>
    
                                            <div class="custom-control custom-switch switch-success">
                                                <input type="checkbox" class="custom-control-input" name="guard[]" id="parakende" value="sRetailPrice">
                                                <label class="custom-control-label" for="parakende">Perakende Fiyat Görünsün</label>
                                            </div>
    
                                            <div class="custom-control custom-switch switch-success">
                                                <input type="checkbox" class="custom-control-input" name="guard[]" id="sifre" value="sPassword">
                                                <label class="custom-control-label" for="sifre">Şifre İşlemleri</label>
                                            </div>
    
                                            <div class="custom-control custom-switch switch-success">
                                                <input type="checkbox" class="custom-control-input" name="guard[]" id="kampanyalar" value="sCampaigns">
                                                <label class="custom-control-label" for="kampanyalar">Kampanyalar</label>
                                            </div>
    
                                        </div>
    belirli bir kısmını atayım buyrun.
  • 07-08-2019, 15:55:29
    #6
    Bilgi için teşekkürler, ufak bir detay gözümden kaçtığı için bu bilgiye ihtiyaç duymuştum fakat burada sorun sizin foreach içerisinde return değerini kullanmanız. Kısaca kullandığınız kod bloğu yanlış. tabi kod bluğunuzun tamamnı göremediğimiz için belki bir yerde return yapmanız gerekiyordur fakat bu foreach in içerisinde olamaz. İlk değer döndükten sonra return ile dönüş yapıyorsunuz ve foreachten çıkıyorsunuz aynı break kullandığınızı düşünün.

    Örnek vermek gerekirse;

    foreach ($_POST['guard'] as $q) {
               //Buraya echo ile $q basarsam iki veride geliyor. Ama iki tane dönmüyor. şu set $q da.
                //$last_id = $db->lastInsertId(); Bunu neden kullandığınızı anlamadım. Eğer foreach ten önce yukarıda bir insert işlemi yapıyorsanız bu kod doğru bilgi verecektir.
                $query = $db->prepare("UPDATE customers SET $q =1 WHERE id=?");
                $insert = $query->execute(array(
    "1"
                ));        
           
            }

    emreakdascomtr adlı üyeden alıntı: mesajı görüntüle
    <div class="col-md-4 col-lg-4">
    <div class="custom-control custom-switch switch-success">
    <input type="checkbox" class="custom-control-input" name="guard[]" id="kullanıcı" value="sUsers">
    <label class="custom-control-label" for="kullanıcı">Kullanıcı Yönetimi</label>
    </div>
    
    <div class="custom-control custom-switch switch-success">
    <input type="checkbox" class="custom-control-input" name="guard[]" id="parakende" value="sRetailPrice">
    <label class="custom-control-label" for="parakende">Perakende Fiyat Görünsün</label>
    </div>
    
    <div class="custom-control custom-switch switch-success">
    <input type="checkbox" class="custom-control-input" name="guard[]" id="sifre" value="sPassword">
    <label class="custom-control-label" for="sifre">Şifre İşlemleri</label>
    </div>
    
    <div class="custom-control custom-switch switch-success">
    <input type="checkbox" class="custom-control-input" name="guard[]" id="kampanyalar" value="sCampaigns">
    <label class="custom-control-label" for="kampanyalar">Kampanyalar</label>
    </div>
    
    </div>
    belirli bir kısmını atayım buyrun.
  • 07-08-2019, 15:57:34
    #7
    MesutEyrice adlı üyeden alıntı: mesajı görüntüle
    Bilgi için teşekkürler, ufak bir detay gözümden kaçtığı için bu bilgiye ihtiyaç duymuştum fakat burada sorun sizin foreach içerisinde return değerini kullanmanız. Kısaca kullandığınız kod bloğu yanlış. tabi kod bluğunuzun tamamnı göremediğimiz için belki bir yerde return yapmanız gerekiyordur fakat bu foreach in içerisinde olamaz. İlk değer döndükten sonra return ile dönüş yapıyorsunuz ve foreachten çıkıyorsunuz aynı break kullandığınızı düşünün.

    Örnek vermek gerekirse;

    foreach ($_POST['guard'] as $q) {
               //Buraya echo ile $q basarsam iki veride geliyor. Ama iki tane dönmüyor. şu set $q da.
                //$last_id = $db->lastInsertId(); Bunu neden kullandığınızı anlamadım. Eğer foreach ten önce yukarıda bir insert işlemi yapıyorsanız bu kod doğru bilgi verecektir.
                $query = $db->prepare("UPDATE customers SET $q =1 WHERE id=?");
                $insert = $query->execute(array(
    "1"
                ));        
          
            }
    //$last_id = $db->lastInsertId(); Bunu neden kullandığınızı anlamadım. Eğer foreach ten önce yukarıda bir insert işlemi yapıyorsanız bu kod doğru bilgi verecektir.
    bu kod bloğu "1" ile alakalı idi kaldırmayı unuttum bu kodla alakası yok.
  • 07-08-2019, 16:02:09
    #8
    emreakdascomtr adlı üyeden alıntı: mesajı görüntüle
    //$last_id = $db->lastInsertId(); Bunu neden kullandığınızı anlamadım. Eğer foreach ten önce yukarıda bir insert işlemi yapıyorsanız bu kod doğru bilgi verecektir.
    bu kod bloğu "1" ile alakalı idi kaldırmayı unuttum bu kodla alakası yok.
    Anlıyorum. Düzenlediğim kodu kullanırsanız sorununuz çözülecektir.
  • 07-08-2019, 16:08:01
    #9
    MesutEyrice adlı üyeden alıntı: mesajı görüntüle
    Anlıyorum. Düzenlediğim kodu kullanırsanız sorununuz çözülecektir.
    düzenlediğniiz kod bloğu nerde?