簡體   English   中英

為 PhP 中的 for 循環中的每個元素賦予不同的 ID

[英]Give different ID to each element in for loop in PhP

這是我的 output,單擊“贊”按鈕應在 MySQL 的“贊”列中添加 +1

我使用 while 循環來迭代按鈕

例如,“按鈕”在下圖中多次顯示。 我在while循環中有一個標簽,所以它會多次輸出按鈕。 這個名字來自數據庫。

我的問題 中的所有按鈕都將具有相同的 ID。 目前,用戶只能點擊第一個按鈕。 如果可能的話,我想給每個元素一個不同的 ID。 然后我想用 jQuery 添加點擊事件。 所以,如果我點擊第四個按鈕,該評論的點贊數應該會增加。

我需要的。 如何為遠循環中的每個元素分配不同的 ID,這樣它只會使第一個圖像可點擊,而是所有元素的可點擊?

<?php
$result = mysqli_query($link, $sql);
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        ?>
        <div class="single-item">
             <div class="cmt_user"><div class="circle2">
                  <h5>
                     <?php
                         $name = $row['name'];
                         $f_letter = strtoupper($name[0]);
                         echo $f_letter; 
                      ?>
                  </h5>
                  </div>
                      <h4><a href=""><?php echo $row['name']; ?></a></h4>
                  </div>
                       <p><?php echo $row['comment']; ?></p><div class="lcr">
                       <ul>
                           <li id = "modified" >  </li>
                       </ul>
                       <form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST" class="form">
                           <button onclick="imageClick(<?php echo $row['id_vnr']; ?>)" name="like" value="<?php echo $row['id'] ?>" class="like_btn"><i class="fa fa-heart"></i> Like</button>
                       </form>

這是插入喜歡計數的 Php 代碼

<?php
     $like = $_POST['like'];
     if($like){
            $sql = "UPDATE comments set likes = likes + 1 where id = '".$row['id']."'"; 
            echo $sql;
            $result=mysqli_query($link,$sql);
     }
         
?>

這真的很簡單。 像這樣做

$result = mysqli_query($link, $sql);
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        ?>
        <div class="single-item">
             <div class="cmt_user"><div class="circle2">
                  <h5>
                     <?php
                         $name = $row['name'];
                         $f_letter = strtoupper($name[0]);
                         echo $f_letter; 
                      ?>
                  </h5>
                  </div>
                      <h4><a href=""><?php echo $row['name']; ?></a></h4>
                  </div>
                       <p><?php echo $row['comment']; ?></p><div class="lcr">
                       <ul>
                           <li id = "modified" >  </li>
                       </ul>
                       <form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST" class="form">
                            <input name="like" value="1"> 
                            <input name="row_id" value="<?php echo $row['id'] ?>"> 
                           <button class="like_btn"><i class="fa fa-heart"></i> Like</button>
                       </form>

並獲得這樣的 POST 值

<?php
     $like = $_POST['like'];
     $row_id = $_POST['row_id'];
     if(isset($like) && $like == 1){
            $sql = "UPDATE comments set likes = likes + 1 where id = '".$row_id."'"; 
            echo $sql;
            $result=mysqli_query($link,$sql);
     }
         
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM