Ö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.
Php PDO Destek
9
●118
- 17-03-2021, 10:39:30Hocam 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:58:35Hocam şö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:38Benim ç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$guncelle=$VT->SorguCalistir("UPDATE ".$tablo,"SET durum=? WHERE ID=?",array($durum,$ID),1); burada durum yerini aktif yaptınız mı?