v2.5.2
Giriş yap

PHP dizisel sorunlar

burak001
524 defa görüntülendi

arkadaşlar veritabanımda gelen veriyi foreach dizisiyle ne kadar yazı varsa teker teker
idleriyle listeliyorum bunların altında birde beğen butonu var beğene
bastığımda jquery kodlarım sadece en alttaki veriyi alıyor bunu nasıl çözebilirm

//örnek kodlar şöyle
<?php

foreach($donenRow as $donenAnahtar){?>


<h2><?php echo $donenAnahtar["baslik"]?></h2>
<p><?php echo $donenAnahtar["aciklama"]?></p>
<a class="" id="begen">burda kalp var diye düşünün</a>

<?
}
?>


js kodları şöyle

<script>

burada normal bir şekilde begen class lı nesneye tıklandığında ajaxa
şunu bunu gönder diyroum bu şekilde beğenme id sinden yazısirayı ve beğeniyor mu beğenmiyor mu
durumunu gönderiyorum fakat üsttede dediğim gibi sadece son listelenen yazının yazi sirasini alıyor

</script>
Cevap yaz
Cevaplar (3)
smack
1253 gün önce
<a class="" id="begen" onclick="benim_fonksiyonum();" >❤️</a>

burak001
1339 gün önce

zaten böyle yapıyorum

js tarafı şöyle

$(".btn").click(function(){
    var yazi_sira = $("#yazi_sira_<?php echo $key ?>").val();
  	let btn = $(this).children('i.fa-heart');
    if(btn.hasClass("far")){
    var durum = 1;
    alert(yazi_sira);
    btn.removeClass("far").addClass("fas");
    }else{
    var durum = 0;
    alert(yazi_sira);

    btn.removeClass("fas").addClass("far");
    }
    $.ajax({
      url:"pages/begeni.php",
      data:{"durum":durum,"yazi_sira":<?php echo $yazi_sira?>},
      type:"POST",
      success:function(m){
          alert(m);
      }

    });
});
</script>

php html tarafı şöyle

$benid = @$_SESSION["id"];
$geziListele = $con->prepare("SELECT * FROM geziler ORDER BY begen DESC");
$geziListele->execute(array());
$geziDondur = $geziListele->fetchAll(PDO::FETCH_ASSOC);
$geziSay = $geziListele->rowCount();
foreach($geziDondur as  $key => $geziAnahtar){
    $yazar = $geziAnahtar["id"];
    $yazi_sira = $geziAnahtar["yazi_sira"];
    $yazi_dizi = array($yazi_sira);
?>
<a stlye="text-decoration:none;" href="index.php?islem=yazilarim&id=<?php echo $yazi_sira?>">
<div class="anaCerceve">

<div class="anaResim">
<img src="<?php echo $geziAnahtar["res1"]?>" alt="Resim yüklenemedi">
</div>

<div class="ortaCerceve">

<div class="baslik">
<h2><?php echo $geziAnahtar["baslik"]?><label style="color:#81C14B;font-size:13px;margin-top:-5px;"><?php echo " · ".$geziAnahtar["konum"]?></label></h2>
</div>

<div class="aciklama">
<p><?php echo substr($geziAnahtar["aciklama"],0,255)?></p>
</div>

</div>

<div class="alt">

<div class="begeni">
<?php
$begeniKontrol = $con->prepare("SELECT * FROM begeniler WHERE begenen_id=? AND begenilen_id=?");
$begeniKontrol->execute([$benid,$yazi_sira]);
$begeniSay = $begeniKontrol->rowCount();
?>
<?php if(isset($_SESSION["id"])){?>
<?php if($begeniSay==0){?>
<a class="btn">
<i id="kalp" class="far fa-heart"></i><label  style="font-size:22px;font-weight:200;color:gray;" ><?php echo begenText($geziAnahtar["begen"])?></label>
</a>
<?php }else{?>
<a class="btn">
<i id="kalp" class="fas fa-heart"></i><label  style="font-size:22px;font-weight:200;color:gray;" ><?php echo begenText($geziAnahtar["begen"])?></label>
</a>

<?php }}else{ ?>
<a class="btn">
<i id="kalp" class="far fa-heart"></i><label  style="font-size:22px;font-weight:200;color:gray;" ><?php echo begenText($geziAnahtar["begen"])?></label>
</a>
<?php }?>
<input id="yazi_sira_<?php echo $key ?>" type="hidden" value="<?php echo $yazi_sira?>">
</div>
<div class="tar_ads">
<label style="color:red;"><?php echo timeConvert($geziAnahtar["tar"])?></label>
<?php 




$yazarEkle = $con->prepare("SELECT * FROM kayit WHERE id = $yazar");
$yazarEkle->execute(array());
$yazarDondur = $yazarEkle->fetchAll(PDO::FETCH_ASSOC);
foreach($yazarDondur as $yazarAnahatar){


?>
<label style="color:blueviolet;"><?php echo $yazarAnahatar["ads"]?></label>



<?php }?>
</div>

</div>

</div>
</a>
<?php } ?>
themonster
1340 gün önce

her beğen butonuna bir class atayıp bir data ya da id de olabilir prop da olabilir tanımlamanız gerekiyor örnek vermek gerekirse

<a href="#" class="like" data-id="row_id"></a>

js

$(".like").click(function(e){
   e.preventDefault();
    var id = $(this).attr('data-id'); // ya da $(this).data('id'); 
    console.log("ID: " + id);
    // ajax kodları 
});