如何在自动添加的div上添加不同的数字?

时间:2019-01-07 00:45:59

标签: javascript php mysql

我正在一个告白网站上工作,并且在该网站上有一个“本周热门”部分,其中显示了本周的3个最喜欢的告白,并按最喜欢的顺序在水平滑块中显示了这些告白。最喜欢的,第二最喜欢的,第三最喜欢的表白。我想做的就是在每个数字上分别添加#1,#2,#3号,但是我无法实现这一点,因为我只设置了一个div的样式,网站自动创建了另外两个,并向其添加了表白。 >

这是我用来显示它们的php + html代码:

<div class="sidebox">

<?php
$select = "SELECT confessions.confessId,
                                (IFNULL(confessions.firstName, '')) AS firstName,
                                confessions.confessText,
                                DATE_FORMAT(confessions.postDate,'%b %d %Y %h:%i %p') AS postDate,
                                hasImage,
                                UNIX_TIMESTAMP(confessions.postDate) AS orderDate,
                                confessions.isActive,
                                (SELECT COUNT(*) FROM views WHERE views.confessId = confessions.confessId ) as totalViews,
                                (SELECT COUNT(*) FROM likes WHERE likes.confessId = confessions.confessId ) as totalLikes,
                                (SELECT COUNT(*) FROM dislikes WHERE dislikes.confessId = confessions.confessId ) as totalDislikes
                            FROM
                                confessions
                            WHERE isActive = 1
                            ORDER BY totalViews DESC , orderDate DESC limit 3";
                $resss = mysqli_query($mysqli, $select) or die('-3' . mysqli_error());  ?>

            <div id="sticky-nav" style="height:36px;" class="absolute" style="z-index:0">
        <div id="width-limit">
            <div class="options">
                <ul class="menu">
                            <li><a class="carousel_prev previous" href="#"><b style="font-size: 20px;">&#8249;</b></a></li>
                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<li><a style="opacity:1;padding-top:1px;position:relative;left:-54px;"><i class="fas fa-crown" id="crownicon"></i> Top of the Week</a>&nbsp;</li> 
                            <li><div class="menu-clear"></div></li> 
                            <li><a class="carousel_next next" href="#"><b style="font-size: 20px;">&#8250;</b></a></li>         
                        </ul>
            </div>
            <div class="options" id="opt2" style="float:right; width:280px;display:none;">
                <ul style="display: inline-block;float:right;">

                </ul>
            </div><div class="options" id="opt2" style="float:right; width:280px;display:none;">
                <ul style="display: inline-block;float:right;"> 
                </ul>
            </div>

            <div id="small-logo"></div>
            <div class="clearfix"></div>
        </div>
        </div><div class="sidecontainer">
<div class="slick">
<?php
                        while ($row = mysqli_fetch_assoc($resss)) {
                            // Get Total Comments
                            $comssql = "SELECT 'X' FROM comments WHERE confessId = ".$row['confessId']." AND isActive = 1";
                            $commentstotal = mysqli_query($mysqli, $comssql) or die('-4'.mysqli_error());
                            $totComments = mysqli_num_rows($commentstotal);
                            if ($totComments == '1') { $comText = 'Comment'; } else { $comText = 'Comments'; }
                            if ($row['totalViews'] == '1') { $viewText = 'View'; } else { $viewText = 'Views'; }
                            $shareURL = $set['installUrl'].'page.php?page=view&confession='.$row['confessId'];
                    ?>
                            <div class="confession" style="margin-left: 0;width: 300px;">
                                <div class="left"><span class="label2 label-confess1"><?php echo $row['totalViews'].' '.$viewText; ?></span></div>
                              <div class="right"><span class="bestthisweek">

                              <?php if ($row['totalLikes'] == '12') { echo "Top of the Day!"; } else { echo "Top!"; } ?>

                              </span></div>
                                <div class="confessionstyle" style="margin-top:20px;"><p> 
                                    <font color="#fff3b2">
                                    <?php
                                        if ($filterProfanity == '1') {
                                            echo nl2br(htmlspecialchars(filterwords($row['confessText'])));
                                        } else {
                                            echo nl2br(htmlspecialchars($row['confessText']));
                                        }
                                    ?>
                                    </font>
                                    </p></div>
                                <input type="hidden" id="confessId" name="confessId_<?php echo $count; ?>" value="<?php echo $row['confessId']; ?>" />
                                <?php
                                    $chkLikes = mysqli_query($mysqli,"SELECT 'X' FROM likes WHERE confessId = ".$row['confessId']." AND likeIp = '".$_SERVER['REMOTE_ADDR']."' LIMIT 1");
                                    $hasLike = mysqli_num_rows($chkLikes);

                                    $likeCSS = $hasLike > 0 ? 'text-info' : 'white';

                                    $chkDislikes = mysqli_query($mysqli,"SELECT 'X' FROM dislikes WHERE confessId = ".$row['confessId']." AND dislikeIp = '".$_SERVER['REMOTE_ADDR']."' LIMIT 1");
                                    $hasDislike = mysqli_num_rows($chkDislikes);

                                    $dislikeCSS = $hasDislike > 0 ? 'text-danger' : 'white';
                                ?>
                                <div class="confession-actions">                                    
                                    <div class="likes" style="width: 75px;">
                                        <span class="label2 label-confess first liked">                                         
                                            <a href="" id="likeIt_<?php echo $row['confessId']; ?>" class="likeIt_<?php echo $count; ?> <?php echo $likeCSS; ?>" style="text-decoration:none;outline:none;">
                                                <i class="fas fa-thumbs-up"></i> <span style="color:white;" id="likesVal_<?php echo $row['confessId']; ?>"><?php echo $row['totalLikes']; ?></span>
                                            </a>
                                        </span>
                                        </div>
                                    <div class="dislikes" style="width: 75px;">
                                        <span class="label2 label-confess disliked">
                                            <a href="" id="dislikeIt_<?php echo $row['confessId']; ?>" class="dislike_<?php echo $count; ?> <?php echo $dislikeCSS; ?>" style="text-decoration:none;outline:none;">
                                                <span style="color:white;" id="dislikesVal_<?php echo $row['confessId']; ?>"><?php echo $row['totalDislikes']; ?></span> <i class="fas fa-thumbs-down"></i>
                                            </a>
                                        </span>
                                    </div>

                                    <?php if ($row['hasImage'] != '0') { ?>
                                        <span class="label label-confess"><i class="fa fa-picture-o img"></i></span>
                                    <?php } ?>

                                    <div class="comments">

                                        <div class="divide" style="width: 75px;"><div id="comments-hvr"><a href="page.php?page=view&confession=<?php echo $row['confessId']; ?>">
                                            <i class="fa fa-comments"></i> <?php echo $totComments.' '; ?>
                                            </a></div></div>
                                    </div>

                                <div class="divide2" style="width: 75px;"><div class="fb-share-button" style="top:-6.5px;transform: scale(0.93);" 
    data-href="page.php?page=view&confession=<?php echo $row['confessId']; ?>" 
    data-layout="button_count"></div></div></div>

                                <div class="clearfix"></div>
                            </div>
                    <?php

                        }
                    ?>
               </div>

我尝试了所有方法,这是我拥有的最佳解决方案,但是我不知道应该在if, elseif, else中放入什么,我需要将#1放在第一,第二放在第二, #3在第三次坦白。因此,我需要像这样的东西,但是不需要我手动插入>喜欢的东西。

<?php if ($row['totalLikes'] > '11') { echo "#1"; } elseif ($row['totalLikes'] > '5') { echo "#2"; } else { echo "#3"; }?>

请访问我的网站,该网站仍在开发中,但请查看右侧的“每周精选”,您将了解我的实际需求:http://confessions.byethost31.com

最终:

<?php $i = 1; ?>

    <?php

echo '#'.$i;
    $i++;

?>

1 个答案:

答案 0 :(得分:0)

最简单的方法是创建一个随每次while迭代递增的变量。

$i = 1; // set initial value     
while ($row = mysqli_fetch_assoc($resss)) {
    echo 'This number will grow by 1 for every row - '.$i;
    $i++; // this is equal to $i = $i + 1; so will increment by 1 every time.
}

编辑:

与其尝试假设总喜欢的人数,不如按总喜欢的人数进行排序(将最喜欢的对象放在第一位并分配此#1)会更容易。

ORDER BY totalLikes DESC, totalViews DESC, orderDate DESC

然后您可以使用

echo '#'.$i;

要显示数字的位置,可以执行此操作,因为您有LIMIT 3,因此仅显示前3个。