php喜欢和不喜欢不在每个帖子上工作

时间:2016-01-27 06:43:25

标签: javascript php jquery

我在页面中有一个喜欢和不喜欢的系统,喜欢和不喜欢只在第一页上工作但在其他帖子上没有。这是我试过的

这是我获取信息的方式 这是php部分

Like.php
if(isset($_POST['id'])){
$send = mysqli_query($connecDB, "UPDATE portfolio SET `like`='$view' WHERE `id`='$id'"); }

Javascript部分

<script type="text/javascript">
$(".btn-success").click(function() {
var id = $('#id').val();
$.ajax({
    type : "POST",
    url : "ajax/like.php",
    data: "id=" + id,
  success: function(data) {
   $('#result').html(data);

}
}); 
});
</script>

这是HTML部分

$sql = "SELECT * FROM post ORDER BY id DESC LIMIT 10";
$result = mysqli_query($connecDB, $sql);
while($rowsmall = mysqli_fetch_array($result)){
<button class="btn btn-success btn-stroke" id="result"><?php echo $rowsmall['like']; ?>&nbsp;<i class="fa fa-thumbs-o-up fa-lg"></i>  </button>
<input type="hidden" name="id" id="id" value="<?php echo $rowsmall['id']; ?>"> <?php } ?>

我面临的问题是,javascript会一次又一次地发送相同的隐藏ID。

1 个答案:

答案 0 :(得分:1)

在HTML id中,属性必须在整个页面中具有唯一值,并且此行(var id = $('#id').val();)始终返回第一篇帖子的ID,使用data属性来简单地访问帖子ID,像这样

PHP

<?php $sql = "SELECT * FROM post ORDER BY id DESC LIMIT 10";
$result = mysqli_query($connecDB, $sql);
while($rowsmall = mysqli_fetch_array($result)){
   <button class="btn btn-success btn-stroke" data-id="<?php echo $rowsmall['id']; ?>" >
      <?php echo $rowsmall['like']; ?>&nbsp;<i class="fa fa-thumbs-o-up fa-lg"></i>  
   </button>
   <input type="hidden" name="id" value="<?php echo $rowsmall['id']; ?>"> 
<?php } ?>

JavaScript

<script type="text/javascript">
$(".btn-success").click(function() {
var id = $(this).data('id'); // get data-id atrribute
var element = this;
$.ajax({
    type : "POST",
    url : "ajax/like.php",
    data: "id=" + id,
  success: function(data) {
   $(element).html(data);

}
}); 
});
</script>