• 17-03-2021, 10:37:10
    #1
    Öncelikle merhabalar,
    Hobi mahiyetince php pdo ile birşeyler yapmaya çalışıyorum ilgili videoları izleyerek. Ancak altyapım olmadığı için bazı yerlerde tıkanıp kalıyorum. Şu an aktif pasif yapma, ana sayfada gözüküp gözükmeme konusunda tıkanıp kaldım. Uzaktan bağlanıp yardımcı olabilecek arkadaşlar var mıdır? Gerekirse ücretini ödemeye hazırım. Şimdiden teşekkür eder iyi çalışmalar dilerim hepinize.
  • 17-03-2021, 10:39:30
    #2
    Hocam takıldığınız yeri atarsanız öyle yardımcı olalım. Şuanda uzak bağlantı yapamıyorum maalesef, ücrete gerek yok.
  • 17-03-2021, 10:39:48
    #3
    Merhaba

    Aslında çok basit ek bir sütun açın örneğin status birtane buton koyun listeleme kısmına aktif ise 0 kapalı ise 1 mantığı arayuzune de select from tablo adı where status= 0

    Mantık bundan ibaret mobil olduğum için çok yazamadım
  • 17-03-2021, 10:41:22
    #4
    uzak bağlantı sağlasak gösterebilir misiniz ?
  • 17-03-2021, 10:58:35
    #6
    Hocam şöyle anlatayım. @rowCount; hocamında dediği gibi tabloda ek olarak durum diye bir sütun ekleyin. 1 ve 0 değerlerini alsın. 0 -> pasif 1-> aktif. Sonrasında kodlarla örnek göstereceğim. Bende bir anket uygulamasında aynı işlemi yapmıştım onun üzerinden anlatmaya çalışayım.

    Burada anketlerimi çektim checkbox'ım akitflik durumu 1 se cheked olarak geliyor taloya.

       <label class='switch'>
         <input type="checkbox" id='<?php echo $anket->id ?>' class="aktifPasif" <?php echo $anket->aktif == 1 ? 'checked' : '' ?> />
          <span class='slider round'></span>
        </label>
    Checkbox id si bizim için önemli olan. id ye db den çektiğiniz tablonun primary sütununu verebilirsiniz.

    Sonrasında ;
    <script>
            $(document).ready(function() {
                $('.aktifPasif').click(function(event) {
                    var id = $(this).attr("id");
                    var durum = ($(this).is(':checked')) ? '1' : '0';
                    $.ajax({
                        type: 'POST',
                        url: 'aktifPasif.php',
                        data: {
                            id: id,
                            durum: durum
                        },
                        success: function(result) {
                            $('#sonuc').text(result);
                        },
                        error: function() {
                            alert('Hata oluştu, daha sonra tekrar deneyiniz.');
                        }
                    });
                });
            });
        </script>
    burda ajax ile oluşturduğumuz aktifPasif.php sayfamıza Post ile id ve durum bilgisini gönderiyoruz.
    Şimdide aktifPasif.php sayfamıza geçelim. Burada işlem basit. Post ile gönderdiğmiz id ye göre durumu değiştireceğiz.

    aktifPasif.php:
    <?php
    if ($_POST) {
        include("connection.php"); // veritabanı bağlantısının olduğu php sayfası.
        $id = (int)$_POST['id'];   // listeden gönderdiğimiz verinin id si
        $durum = (int)$_POST['durum']; //aktif - pasiflik durumu
        $sorgu = $db->query("UPDATE anketler SET aktif=$durum WHERE  id=$id"); //db update işlemi
    };
    Update işlemini yaptıktan sonra. Durumu aktif olanları çekeceğiz sadece:

        $aktifListe = $db->query("select * from tabloAdi  where aktif =1")->fetchAll(PDO::FETCH_ASSOC));
  • 17-03-2021, 11:03:38
    #7
    Benim çalıştığım proje biraz farklı
    <?php
                    $veriler=$VT->VeriGetir("duyuru","","","ORDER BY ID DESC");
                    if($veriler!=false)
                    {
                        $sira=0;
                        for($i=0;$i<count($veriler);$i++)
                        {
                            $sira++;
                            if($veriler[$i]["durum"]==1){$aktifpasif=' checked="checked"';}else{$aktifpasif='';}
                            ?>
                            <tr>
                              <td><?=$sira?></td>
                              <td>
                             <?php
                              if(!empty($veriler[$i]["resim"]))
                              {
                                ?>
                                <img src="<?=ANASITE?>images/duyuru/<?=$veriler[$i]["resim"]?>" style="height: 50px; width: 50px; border-radius: 25px 25px 25px 25px; float: left; margin-right: 10px;">
                                <?php
                              }
                              echo stripslashes($veriler[$i]["baslik"]);
                              echo '<br/>'.mb_substr(strip_tags(stripslashes($veriler[$i]["metin"])),0,130,"UTF-8")."...";
                              ?>
                              </td>
                              <td>
                              <div class="custom-control custom-switch custom-switch-off-danger custom-switch-on-success">
                                  <input type="checkbox" class="custom-control-input aktifpasif<?=$veriler[$i]["ID"]?>" id="customSwitch3<?=$veriler[$i]["ID"]?>"<?=$aktifpasif?> value="<?=$veriler[$i]["ID"]?>" onclick="aktifpasif(<?=$veriler[$i]["ID"]?>,'duyuru');">
                                  <label class="custom-control-label" for="customSwitch3<?=$veriler[$i]["ID"]?>"></label>
                              </div>
                              </td>
                              <td><?=$veriler[$i]["tarih"]?></td>
                              <td>
                              <a href="<?=SITE?>duyuruduzenle/<?=$veriler[$i]["seflink"]?>" class="ad-st-view">Düzenle</a>
                              <a href="<?=SITE?>duyurusil/<?=$veriler[$i]["seflink"]?>" class="ad-st-view">Kaldır</a>
                              </td>
                            </tr>
                            <?php
                                }
                            }
                         ?>
    ajax.php bu şekilde

    if($_POST)
    {
        if(!empty($_POST["tablo"]) && !empty($_POST["ID"]) && !empty($_POST["durum"]))
        {
            $tablo=$VT->filter($_POST["tablo"]);
            $ID=$VT->filter($_POST["ID"]);
            $durum=$VT->filter($_POST["durum"]);
            $guncelle=$VT->SorguCalistir("UPDATE ".$tablo,"SET durum=? WHERE ID=?",array($durum,$ID),1);
            if($guncelle!=false)
            {
                echo "TAMAM";
            }
            else
            {
                echo "HATA";
            }
        }
        else
        {
            echo "BOS";
        }
    }
    index.php içindeki script bu şekilde

    function aktifpasif(ID,tablo)
      {
          var durum=0;
         if($(".aktifpasif"+ID).is(':checked'))
         {
             durum=1;
         }
         else
         {
             durum=2;
         }
         
    
         $.ajax({
             method:"POST",
             url:"<?=SITE?>ajax.php",
             data:{"tablo":tablo,"ID":ID,"durum":durum},
             success: function(sonuc)
             {
                 if(sonuc=="TAMAM")
                 {
                 }
                 else
                 {
                     alert("İşleminiz şuan geçersizdir. Lütfen daha sonra tekrar deneyiniz.");
                 }
             }
         });
      }
    durum tablosunda bu kodlar çalışıyor. bense aktif diye bir tablo daha açtım. bu kodlarda durum yazan yerlere aktif yazarak değiştirdim. ama hala gidip durum tablosunu değiştiriyor
  • 17-03-2021, 11:12:47
    #8
    $guncelle=$VT->SorguCalistir("UPDATE ".$tablo,"SET durum=? WHERE ID=?",array($durum,$ID),1); burada durum yerini aktif yaptınız mı?
  • 17-03-2021, 11:13:20
    #9
    evet