当 CakePHP2 中没有排名信息时无法跳过排名 Post
Unable to skip ranking Post when there is no ranking information in CakePHP2
这很难用语言来解释,但我想做的是在CakePhp2中没有排名信息的情况下跳过排名。例如,我有以下数据,其中包含 7 行排名数据。 7 行中的 2 行包含空体(第 2 行和第 5 行)。所以我做了一个脚本来跳过排名 post 是空的。但是,由于已跳过第 2 行和第 5 行。显示的数据post为1,3,4,6,7。但我想显示排名,如 1、2、3、4、5。换句话说,我想将第 3 名显示为第 2 名,将第 4 名显示为第 3 名,依此类推。抱歉我的解释不当。很简单,想在没有排名信息的时候跳过排名,显示排名号。 (PS:我不想更改数据库)我很乐意听取您的意见!
array(7) { [0]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "1" ["title"]=> string(6) "title1" ["body"]=> string(5) "body1" ["created"]=> string(19) "2017-04-04 21:25:43" ["modified"]=> NULL } } [1]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "2" ["title"]=> string(0) "" ["body"]=> string(0) "" ["created"]=> string(19) "2017-04-04 21:25:43" ["modified"]=> NULL } } [2]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "3" ["title"]=> string(6) "title3" ["body"]=> string(5) "body3" ["created"]=> string(19) "2017-04-04 21:25:43" ["modified"]=> NULL } } [3]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "4" ["title"]=> string(6) "title4" ["body"]=> string(5) "body4" ["created"]=> string(19) "2017-04-08 15:48:21" ["modified"]=> NULL } } [4]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "5" ["title"]=> string(0) "" ["body"]=> string(0) "" ["created"]=> string(19) "2017-04-08 16:14:08" ["modified"]=> NULL } } [5]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "6" ["title"]=> string(6) "title6" ["body"]=> string(5) "body6" ["created"]=> string(19) "2017-04-08 16:14:08" ["modified"]=> NULL } } [6]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "7" ["title"]=> string(6) "title7" ["body"]=> string(5) "body7" ["created"]=> string(19) "2017-04-08 16:14:08" ["modified"]=> NULL } } }
正在尝试制作一个脚本来显示热门排名。我真的很想听听您的一些很棒的提示和示例!
<h1>Popular Ranking posts</h1>
<?php $k = 1; ?>
<?php for($i = 0; $i <= count($posts); $i++) { ?>
<ul>
<?php if (!empty($posts[$i]['Post']['body'])) { ?>
<h2><?php echo $posts[$i]['Post']['title']; ?></h2>
<li>
<?php
echo $posts[$i]['Post']['body'];
?>
</li>
//Want to show the number 2 in $k even though the 2nd body data is missing(Currently 3rd data).
<h3 class="ranking_number"><?php echo $k; ?></h3>
<?php } else {
continue;
}?>
</ul>
<?php $k++; } ?>
<h1>Popular Ranking posts</h1>
<?php $k = 1; ?>
<?php for($i = 0; $i <= count($posts); $i++) { ?>
<ul>
<?php if (!empty($posts[$i]['Post']['body'])) { ?>
<h2><?php echo $posts[$i]['Post']['title']; ?></h2>
<li>
<?php
echo $posts[$i]['Post']['body'];
?>
</li>
//Want to show the number 2 in $k even though the 2nd body data is missing(Currently 3rd data).
<h3 class="ranking_number"><?php echo $k; ?></h3>
<?php $k++; } ?>
<?php } else {
continue;
}?>
</ul>
改变了什么?
我将 $k++;
移到了 if
内部,就在 else
之前
为什么?
你的代码在做什么:
- 将
$k
设置为 1。
- Post 1 不为空,所以显示它(排名 1)。
- 将
$k
增加 1。
- 转到下一个post
- Post2为空,不显示(排名2)
- 将
$k
增加 1。
让我们到此为止。你的 $k
每增加一个 post,即使是那些被跳过的,所以第三个位置是第 3 而不是第 2。
我的代码在做什么:
- 将
$k
设置为 1。
- Post 1 不为空,所以显示它(排名 1)。
- 将
$k
增加 1。
- 转到下一个post
- Post2为空,不显示(排名2)
- 转到下一个post
- Post 3 不为空,所以显示它(仍然排名 2)。
希望对您有所帮助。
这很难用语言来解释,但我想做的是在CakePhp2中没有排名信息的情况下跳过排名。例如,我有以下数据,其中包含 7 行排名数据。 7 行中的 2 行包含空体(第 2 行和第 5 行)。所以我做了一个脚本来跳过排名 post 是空的。但是,由于已跳过第 2 行和第 5 行。显示的数据post为1,3,4,6,7。但我想显示排名,如 1、2、3、4、5。换句话说,我想将第 3 名显示为第 2 名,将第 4 名显示为第 3 名,依此类推。抱歉我的解释不当。很简单,想在没有排名信息的时候跳过排名,显示排名号。 (PS:我不想更改数据库)我很乐意听取您的意见!
array(7) { [0]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "1" ["title"]=> string(6) "title1" ["body"]=> string(5) "body1" ["created"]=> string(19) "2017-04-04 21:25:43" ["modified"]=> NULL } } [1]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "2" ["title"]=> string(0) "" ["body"]=> string(0) "" ["created"]=> string(19) "2017-04-04 21:25:43" ["modified"]=> NULL } } [2]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "3" ["title"]=> string(6) "title3" ["body"]=> string(5) "body3" ["created"]=> string(19) "2017-04-04 21:25:43" ["modified"]=> NULL } } [3]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "4" ["title"]=> string(6) "title4" ["body"]=> string(5) "body4" ["created"]=> string(19) "2017-04-08 15:48:21" ["modified"]=> NULL } } [4]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "5" ["title"]=> string(0) "" ["body"]=> string(0) "" ["created"]=> string(19) "2017-04-08 16:14:08" ["modified"]=> NULL } } [5]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "6" ["title"]=> string(6) "title6" ["body"]=> string(5) "body6" ["created"]=> string(19) "2017-04-08 16:14:08" ["modified"]=> NULL } } [6]=> array(1) { ["Post"]=> array(5) { ["id"]=> string(1) "7" ["title"]=> string(6) "title7" ["body"]=> string(5) "body7" ["created"]=> string(19) "2017-04-08 16:14:08" ["modified"]=> NULL } } }
正在尝试制作一个脚本来显示热门排名。我真的很想听听您的一些很棒的提示和示例!
<h1>Popular Ranking posts</h1>
<?php $k = 1; ?>
<?php for($i = 0; $i <= count($posts); $i++) { ?>
<ul>
<?php if (!empty($posts[$i]['Post']['body'])) { ?>
<h2><?php echo $posts[$i]['Post']['title']; ?></h2>
<li>
<?php
echo $posts[$i]['Post']['body'];
?>
</li>
//Want to show the number 2 in $k even though the 2nd body data is missing(Currently 3rd data).
<h3 class="ranking_number"><?php echo $k; ?></h3>
<?php } else {
continue;
}?>
</ul>
<?php $k++; } ?>
<h1>Popular Ranking posts</h1>
<?php $k = 1; ?>
<?php for($i = 0; $i <= count($posts); $i++) { ?>
<ul>
<?php if (!empty($posts[$i]['Post']['body'])) { ?>
<h2><?php echo $posts[$i]['Post']['title']; ?></h2>
<li>
<?php
echo $posts[$i]['Post']['body'];
?>
</li>
//Want to show the number 2 in $k even though the 2nd body data is missing(Currently 3rd data).
<h3 class="ranking_number"><?php echo $k; ?></h3>
<?php $k++; } ?>
<?php } else {
continue;
}?>
</ul>
改变了什么?
我将 $k++;
移到了 if
内部,就在 else
为什么?
你的代码在做什么:
- 将
$k
设置为 1。 - Post 1 不为空,所以显示它(排名 1)。
- 将
$k
增加 1。 - 转到下一个post
- Post2为空,不显示(排名2)
- 将
$k
增加 1。
让我们到此为止。你的 $k
每增加一个 post,即使是那些被跳过的,所以第三个位置是第 3 而不是第 2。
我的代码在做什么:
- 将
$k
设置为 1。 - Post 1 不为空,所以显示它(排名 1)。
- 将
$k
增加 1。 - 转到下一个post
- Post2为空,不显示(排名2)
- 转到下一个post
- Post 3 不为空,所以显示它(仍然排名 2)。
希望对您有所帮助。