jQuery ile Daha Fazlasını Göster Uygulaması.mp4
merhaba tayfun erbilenin baslikta cektigi videonu izledim youtubeden hersey guzel calisiyor kodlari da birebir ayni yaptim ama soyle bir sorun var listelenen li lerin idlerini yakalayip alertle ekrana bastirdigimda sadece ilk listelenen verilerin idleri ekrana basdiriliyor sonradan appendle eklenen verilerin idleri ekrana yazdirilmiyor kodlari gonderiyorum bir bakarsaniz sevinirim
burasi index.php nin icerigi
<div id="icerik">
<ul>
<?php
$mehsul = $db->prepare("select * from mehsullar order by id desc limit 5");
$mehsul->execute();
while($mehsulcek = $mehsul->fetch(PDO::FETCH_ASSOC)){
echo '<li id="'.$mehsulcek['id'].'">'.$mehsulcek["ad"].'</li>';
}
?>
</ul>
<div class="daha">
Daha fazlasini goster
</div>
</div>
$(".daha").click(function(){
var id = $("#icerik ul li:last").attr("id");
$.ajax({
url: "ajax.php",
type: "post",
data: {"id":id},
success: function(cevap){
if(cevap == 'yok'){
}else{
$("#icerik ul").append(cevap);
}
}
})
})
})
</script>
burasi da ajax.php nin icerigi
<?php require_once 'baglan.php';
if($_POST){
$id = $_POST['id'];
$mehsul = $db->prepare("select * from mehsullar where id < $id order by id desc limit 5");
$mehsul->execute();
$mehsulsay = $mehsul->rowCount();
if($mehsulsay > 0){
while($mehsulcek = $mehsul->fetch(PDO::FETCH_ASSOC)){
echo '<li id="'.$mehsulcek['id'].'">'.$mehsulcek['ad'].'</li>';
}
}else{
echo 'yok';
}
}
sorun surda ben index.php nin icerigine bu kodlari eklediyimde
$("#icerik ul li").click(function(){
var id = $(this).attr("id");
alert(id);
})
alert sadece ilk listelenen verilerin idsini yakaliyor sonradan append ile eklenen verilerin idsini yakalayamiyor
Bu sistemi bu şekilde kurmayın, başlangıçta bir javascript değişkeni belirleyin var count = 5
olsun. Php tarafına id diye gönderdiğiniz değeri bu değişkenden alın. Ajax ın success kısmında bu değişkeni 5 daha artırın, bir sonraki işlemde bu değişkenin değer 10 olacağı için 10 dan sonraki kayıtları getirecektir.