• 14-09-2015, 13:51:05
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba Arkadaşlar, sayfayı yenilemeden veri silme işlemi yapmaya çalışıyorum. Kod çalışıyor ancak, SANDIK ın en altındaki (4-erik) veriyi azaltıyor. Hangi AZALT a basarsam basayım tablonun en son idinideki veriden azaltıyor yani erik eksiliyor sadece.
    PHP kısmında sorun yok, sorun sanırım JS kısmında bilgim olmadığından yardımınıza ihtiyacım var. Teşekkürler.


    id ad miktar
    1 elma 200 <AZALT>
    2 armut 120 <AZALT>
    3 karpuz 123 <AZALT>
    4 erik 567 <AZALT>


    <? $q=mysql_query("Select * from SANDIK order by id asc");
    while ($d=mysql_fetch_array($q)) {
    ?> 
     
     
     
     <script type="text/javascript">
    		$(document).ready(function(){
    			
    			//  Gönder butonuna basılınca çalıştır
    			$("#gbuton<?=$d[id];?>").click(function(){
    			
    				// Formdan gelen degerleri degerler değişkenine atıyoruz
    				var degerler = $("form").serialize();
    				
    					// Ajax Methodunu Başlatıyoru<
    					$.ajax({
    						
    						type: "post", // gönderme tipi
    						url: "sil.php", // gönderdiğimiz dosyas
    						data : degerler, // gönderilcek veriler
    						success : function(cevap){ // eğer başarılı ise
    							//alert(cevap); // ajax.php den gelen değerleri alert et
    						}
    						
    					});
    			});
    		}); 
    		
    	</script>
      
     
     
     
    <form id="form" action="" method="" onsubmit="return false">
    <input type="hidden" name="idim"   value="<?=$d[id];?>"/>
    	 
    	<input id="gbuton<?=$d[id];?>" type="submit" value="AZALT"/>
    </form>
    <?}?>
  • 14-09-2015, 18:32:41
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Sil.php kodunu bilmiyorum ama gönderdiğin id'yi filtrelediğinden emin ol. where id=gelenid şeklinde. Ayrıca jquery ajax kullanımın uygun değil her veri için ayrı ayrı ajax fonksiyonu yazılmaz.

    Aşağıda düzenlenmiş halini koydum. Kodları buna göre değiştir ve sil.php de id'yi $_GET["id"] şeklinde al çünkü gönderme methodunu değiştirdim ajax içerisindeki ve where kodunu kullandığından emin ol.

    Verdiğim düzenlemediki <script> tagı içerisindeki kodu 1 kere sayfana koyman yeterli. Sistem nasıl işliyor anlatayım;

    - a tagına tıklayınca data-id kısmından azaltılacak veririn idsi alınır
    - alınan id sil.php dosyasına get olarak yollanır
    - sil.php dosyasından $_GET["id"] şeklinde alınarak where sorgusuna dahil edilir

    yani ne ayrı ayrı buton yapmak zorunda kalıyorsun nede her biri için ayrı bir ajax kodu yapmak. Sormak istediğin sorun varsa sorabilirsin açıkca anlatmaya çalıştım.

    Kolay gelsin.

    Değiştirilmiş Kodlar :

    <?php 
    	$q=mysql_query("Select * from SANDIK order by id asc");
    	while ($d=mysql_fetch_array($q)) {
    ?> 
    	<a href="#" data-id="<?php print $d['id']; ?>" class="gbuton">Azalt</a> 
    <?php } ?>
    
    <script type="text/javascript">
    	$(document).ready(function(){
    
    	    $(".gbuton").click(function(){
    
    	    	var idim = $(this).attr("data-id");
    
    	        $.ajax({
    	            type: "get",
    	            url: "sil.php",
    	            data : "id=" + idim,
    	            success : function(cevap){ 
    	                //alert(cevap);
    	            }
    	        });
    
    	        return false;
    	    });
    
    	});    
    </script>
  • 15-09-2015, 11:37:48
    #3
    Fazlasıyla açıklayıcı ders niteliğinde bir yardım oldu. Çok çok teşekkürler.
  • 15-09-2015, 12:39:15
    #4
    ibryas adlı üyeden alıntı: mesajı görüntüle
    Fazlasıyla açıklayıcı ders niteliğinde bir yardım oldu. Çok çok teşekkürler.
    İşinize yaradı ise ne mutlu , rica ederim.