【发布时间】:2011-09-04 10:32:06
【问题描述】:
基本上我有一个 PHP 脚本,它为数据库中的每个项目创建一个 div,但我希望在创建的每个 div 中都有一个“排名”数字,即:
-----------------
Rank: 1 < div 1
-----------------
Rank: 2 < div 2
-----------------
Rank: 3 < div 3
-----------------
等等..
这是我当前的代码...
while($row = mysql_fetch_array($result)) {
$name = stripslashes($row['name']);
$description = stripslashes($row['description']);
$votes = stripslashes($row['votes']);
$id = ($row['id']);
$link = ($row['link']);
$rank = 0;
?>
<div class="site" id="site">
<u><center>
<strong><a href="<?php echo $link ?>" target="_blank"><?php echo $name; ?></a></strong></u>
</font></center>
<p>Rank:<?php echo $rank++ ; ?></p>
<p><b><?php echo $description; ?></b><br />
Votes:<b> <?php echo $votes; ?></b><br />
</p>
</div>
<center>
<?php
}
?>
但这不起作用,任何帮助将不胜感激。 (此外,div 会在多个页面上继续)。
【问题讨论】:
-
您在每次循环时都将 $rank 设置为 0。另外,您可能必须在 echo 之外执行 $rank++ - 我不确定 $rank++ 是否真的返回新数字(但不要引用我的话)
-
无需将其放在回声之外,但实际上初始化应该发生在循环之外。仅供参考:
$var++返回预增量值,++$var返回后增量值。 -
那么回显 $rank++ 每次循环都会回显 0
-
你也有一个孤立的关闭标签
-
好吧,这行得通,但是现在我遇到了这个问题,当用户转到下一页时,它又从一个开始(点击底部的下一步:aviatex14.co.uk/webmash/top.php)
标签: php mysql html increment ranking