Jquery Post Sorunu ?
-
Veritabanından gelen listede jquery ile üye sildireceğim, sorun sadece ilk geleni silebiliyorum diğerleri çalışmıyor. formadi kısmına numara verdim yine olmadı, çözümü nedir ?, googleda arattırdım ama bulamadım. örnek kod
<head> tagı arasındaki kod
<script language="javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript"> function sil(){ var veriler = $('#formadi').serialize(); $.ajax({ type: "POST", url: "sil.php", data: veriler, success:function(cevap){ $("#sonuc").html(""+cevap); } })}; </script>
formm kısımı<form id="formadi" method="POST" action="javascript:void(0);"> <div id="sonuc"></div> <input type="hidden" name="sid" value="<?php echo $sid; ?>"> <input type="hidden" name="idsi" value="<?php echo $idsi; ?>"> <input type="submit" onclick="sil();" value="Sil" class="button submit" /> </form>
sil.php<?php include('baglan.php'); $engelleyen =$_POST['botsid']; $engellenen =$_POST['idsi']; /* mysql silme işlemii */ flush(); ob_flush(); ?>
-
$engelleyen değişkenine atadığın post verisi boş geliyor gibi, formunun içinde botsid name a sahip bir input yok, oraya bir bak istersen.
Bir de sql ile ilgili problemin olabilir istersen bir de sql'i yaz merak ettim gerçekten.
-
post dolu geliyor, döngüde ilk gelen üyeyi siliyor ama ikincisinde işlem yapmıyor, yani sayfayı yenileyince her zaman ilkine işlem yapıyor yani siliyor ama ikinciyi sildiremedim. postla gelen veriyi unset falan yapıp denedim yine olmadı.
Sql
$sil=mysql_query("delete from uye where id='$engellenen'");
TheMayk tarafından 09/Ara/14 12:22 tarihinde düzenlenmiştir -
Hocam döngü içinde echo yapıyosan eğer ajaxa cevap gönderip döngüden çıkmış olursun, tam olarak şu silme işini yaptığın dosyaya bir bakabilirmiyim?
-
include('baglan.php'); $engellenen =$_POST['idsi'];
$sil=mysql_query("delete from uye where id='$engellenen'"); if (!empty($sil)) { echo 'Engellendi'; } else { echo 'Engellenmedi'; } flush(); ob_flush(); ?> -
Hocam verdiğin kodda döngü yok ki????
Şimdi şöyle anlatayım engellenen değişkeni, örnek veriyorum 3 geliyor.
Bu durumda aşağıdaki sorgu çalışıyor.
delete from uye where id='3'
yukarıdaki sql sadece id si 3 olan kaydı siler diğerlerini pas geçer, engellenen değişkenine gelen veri tek rakamdan mı oluşuyor?
Tam olarak sorunu çözmek için engellenen içine gelen veriyi incelemek gerekiyor, engellenen içine gelen veriyi yazarsan daha kolay çözeriz problemi.
-
mysql döngüde tüm veriler geliyor kişi idsi , bilgileri falan, ama ilk üyeyi sil yaptıktan sonra dediğim gibi diğerlerinin input alanları dolu olsada post etmiyor, birinci üyenin bilgilerini alıyor her zaman.
üyelerin geldiği sayfaya, javascripti aldım head ten, o şekilde yine bir şey değilmedi, döngüde son üyüyi sil yapınca yine ilk üyeyi siliyor sadece.
engelle.php
http://pastebin.com/2EeUMA8J
Yani döngüde value değerlerinin hepsi birbirinden farklı, sadece engelle.php ye post edildiğinde ilki oluyor diğerleri olmuyor.
TheMayk tarafından 09/Ara/14 12:48 tarihinde düzenlenmiştir -
dinamik olarak eklenmiş elementleri o şekilde serialize edemezsin.
syntax hatası yapmadıysam iki versiyonun da çalışması lazım:
1
$(document).on('click','.submit',function(e){ e.preventDefault(); var veriler = $('#formadi').serialize(); $.ajax({ type: "POST", url: "sil.php", data: veriler, success:function(cevap){ $("#sonuc").html(cevap); }, }); });
2
$(document).on('submit','#formadi',function(e){ e.preventDefault(); var data = $(this).serialize(); $.post('/sil.php', data, function(response) { $('#sonuc').html(response); }); });
Hybris tarafından 09/Ara/14 13:38 tarihinde düzenlenmiştir