如何为特定图片分配评级?

Posted

技术标签:

【中文标题】如何为特定图片分配评级?【英文标题】:How to assign rating to specific picture? 【发布时间】:2021-10-01 07:33:08 【问题描述】:
while ($row = mysqli_fetch_array($result))  echo "";

    echo "<div id='img_div'>";
    echo "<i class='fas fa-times'></i>";
        echo "<img class='photoDeGallery' src='image/".$row['image']."'>";
       
             echo "<div class='dropdown'>";
                 echo "<span>Details</span> ";

                     echo "<div class='dropdown-content'>";
                         echo "<p>".$row['text']."</p>";
                     echo "</div>";

             echo "</div>";
        
             echo "<div class='feedback'>";

             echo "<input type='radio' name='star' id='loveIt' checked='checked'>";
             echo "<label for='loveIt'>";
             echo "<img class='imag' src='love_it.png'>";
             echo "<h4>love it</h4>";
             echo "</label>";

             echo "<input type='radio' name='star' id='likeIt'>";
             echo "<label for='likeIt'>";
             echo "<img class='imag' src='liked_it.png'>";
             echo "<h4>like it</h4>";
             echo "</label>";

             echo "<input type='radio' name='star' id='applause'>";
             echo "<label for='applause'>";
             echo "<img class='imag' src='applause.png'>";
             echo "<h4>applaus</h4>";
             echo "</label>";

             echo "<input type='radio' name='star' id='laugh'>";
             echo "<label for='laugh'>";
             echo "<img class='imag' src='laugh.png'>";
             echo "<h4>laugh</h4>";
             echo "</label>";

             echo "<input type='radio' name='star' id='boring'>";
             echo "<label for='boring'>";
             echo "<img class='imag' src='boring.png'>";
             echo "<h4>boring</h4>";
             echo "</label>";
             

                 

             echo "</div>";

    echo "</div>";

echo "</div>";

你好,上面的代码我提供了。

在 button_click 上运行上面的代码。该代码在数据库中插入图片并在网站上显示它们。在 img_div 内的每张照片下,还显示了图片的“详细信息”以及评级。我使用无线电输入创建的评级系统(如代码中所示)。评分系统出现在每张图片下方,已上传到数据库并显示在网站上。

问题是: 当我对一张图片进行评分时,所有其他图片都会获得相同的评分。

如何为每张图片保留自己的评级,以便将评级分配为 1:1 rating1:photo1、rating2:photo2 等?

我应该将 rating_clicks 存储在数据库中还是可以计算比率(喜欢、不喜欢等)?

如果有人可以帮助我并且 Modos 不会关闭我的帖子,我将不胜感激? 最好的祝福 瑞达

【问题讨论】:

【参考方案1】:

您的广播组需要相同的名称,但每个组都需要有自己唯一的共享名称。您可以通过在名称中附加项目的 ID 来执行此操作。这样,当您整理 POST 数据时,您将获得对与评级相关的 ID 的引用。此外,您不应该对多个元素使用相同的 ID,因此我将它们更改为数据属性。您可以将文本和收音机包装在标签标签中以将两者关联在一起

<?php while ($row = mysqli_fetch_array($result))  ? >

    <div id='img_div'>
<i class ='fas fa-times'></i>
<img class='photoDeGallery' src='image/<?php echo $row['image']?>'>
     <div class='dropdown'>
         <span>Details</span> 
             <div class='dropdown-content'>
                 <p><?php echo $row['text']?></p>
             </div>
     </div>

     <div class='feedback'>

    <label>
     <input type='radio' name='star_<?php echo $row['id']?>' data-reaction='loveIt' checked='checked'>
     <img class='imag' src='love_it.png'>
     <h4>love it</h4>
     </label>

    <label>
     <input type='radio' name='star_<?php echo $row['id']?>' data-reaction='likeIt'>
     <img class='imag' src='liked_it.png'>
     <h4>like it</h4>
     </label>

    <label>
     <input type='radio' name='star_<?php echo $row['id']?>' data-reaction='applause'>
     <img class='imag' src='applause.png'>
     <h4>applaus</h4>
     </label>

    <label>
     <input type='radio' name='star_<?php echo $row['id']?>' data-reaction='laugh'>
     <img class='imag' src='laugh.png'>
     <h4>laugh</h4>
     </label>

    <label>
     <input type='radio' name='star_<?php echo $row['id']?>' data-reaction='boring'>
     <img class='imag' src='boring.png'>
     <h4>boring</h4>
     </label>
     </div>

然后在您的 $_POST 中,您可以像这样找到您的评分

<?php
foreach ($_POST as $p => $v) 
  if (strpos($p, 'star_')!== false)  // if the name of the $_POST item has the string 'star_' in it
    $imgid = explode('_', $p)[1]; // get the id by exploding the name into an array like ['star','7'] and choosing the [1] index
    $rating = $v; // the rating itself will just be the $_POST value
  
?>

【讨论】:

您好 Kinglish,非常感谢您,我昨天开始了另一个项目,当我完成它时,我将使用评级系统尝试解决问题。最好的问候瑞达 不幸的是,我不理解帖子中的代码。如果您能解释更多,我将不胜感激 哦,非常感谢 ^^,所以我应该在 db 中为 rating-imgs 创建一个表,然后使用 $imgid 进行爆炸。我会试试的,再次感谢你很多次 不客气。如果这有助于解决您的问题,请考虑通过单击答案左侧的复选标记来接受它作为解决方案。 你好 Kinglish,我会的,谢谢你的建议 :))

以上是关于如何为特定图片分配评级?的主要内容,如果未能解决你的问题,请参考以下文章

如何为不同的目标分配特定位置的 BundleDisplayNames

(Swift) 如何为单独的 iCarousels 分配特定数量的项目?

如何为numpy数组中的特定行和列分配字符串值?

如何为 FileMerge 分配快捷方式

如何为已分配的页面获取新的虚拟内存地址?

如何为 pandas 数据框中的不同组分配唯一 ID?