感谢代码宇宙
$i=0;
if ($i % 5 == 0) {
echo '';
}
echo '...';
if ($i % 5 == 4) {
echo '';
}
$i++;
if ($i % 5 != 0) {
echo '
$i=0;
if ($i % 5 == 0) {
echo '';
}
echo '...';
if ($i % 5 == 4) {
echo '';
}
$i++;
if ($i % 5 != 0) {
echo '
原文内容:
注意,这是一个细思极恐的问题,请仔细阅题!
首先,有一个不能改变的条件,就是循环输出内容的代码,例如
//此处将循环输出多篇文章
我需要输出的HTML格式如下
...
...
...
...
...
//一共五篇,也就是5个POST
...
...
...
...
...
...
...
...
...
...
条件:
文章数量不确定,一定>5
每隔5篇文章,需要使用一个Box的div包裹(难点在此,第一次输出
你不可以把每5个post存一下其他地方,然后最后一起输出!
一个栗子?:
假设我有11篇文章,那么我的html最终格式应该是
...
...
...
...
...
...
...
...
...
...
...
这时候我的PHP代码应该是怎么样的呢?
我的尝试:
';$qp_a++;} ?>
...post
';} ?>
这个方式的弊端是只能是IF里面规定的数值外,还必须是可以整除的文章数量。
可能你想到了用$i++ 之类的判断5次后输出,之类的,但是请注意,第一次循环需要echo出
提要:
关于周神的回答
= =!!! 这不是很简单吗... 有毛难度啊
$postCount=0; //文章计数
echo '';
//此处将循环输出多篇文章
$postCount++;
if( $postCount > 1 && $postCount% 5 == 1 ){
echo '';
}else{
echo '...';
}
echo '';
结果:
第一个5个,第二三个4个,剩下空白
参考:
';
?>
1 && $a % 5 == 1) {
echo '';
} else {
echo '内容';
}
}
?>
';
?>
效果:http://www.presscode.cn/temp.php
回复内容:
正确答案:
感谢代码宇宙
$i=0;
if ($i % 5 == 0) {
echo '';
}
echo '...';
if ($i % 5 == 4) {
echo '';
}
$i++;
if ($i % 5 != 0) {
echo '
';
}
原文内容:
注意,这是一个细思极恐的问题,请仔细阅题!
首先,有一个不能改变的条件,就是循环输出内容的代码,例如
//此处将循环输出多篇文章
我需要输出的HTML格式如下
...
...
...
...
...
//一共五篇,也就是5个POST
...
...
...
...
...
...
...
...
...
...
条件:
文章数量不确定,一定>5
每隔5篇文章,需要使用一个Box的div包裹(难点在此,第一次输出
你不可以把每5个post存一下其他地方,然后最后一起输出!
一个栗子?:
假设我有11篇文章,那么我的html最终格式应该是
...
...
...
...
...
...
...
...
...
...
...
这时候我的PHP代码应该是怎么样的呢?
我的尝试:
';$qp_a++;} ?>
...post
';} ?>
这个方式的弊端是只能是IF里面规定的数值外,还必须是可以整除的文章数量。
可能你想到了用$i++ 之类的判断5次后输出,之类的,但是请注意,第一次循环需要echo出
提要:
关于周神的回答
= =!!! 这不是很简单吗... 有毛难度啊
$postCount=0; //文章计数
echo '';
//此处将循环输出多篇文章
$postCount++;
if( $postCount > 1 && $postCount% 5 == 1 ){
echo '';
}else{
echo '...';
}
echo '';
结果:
第一个5个,第二三个4个,剩下空白
参考:
';
?>
1 && $a % 5 == 1) {
echo '';
} else {
echo '内容';
}
}
?>
';
?>
效果:http://www.presscode.cn/temp.php
$i=0;
echo '';
if ($i > 0 && $i % 5 == 0) {
echo '';
}
echo '...';
$i++;
echo '';
$i=0;
if ($i % 5 == 0) {
echo '';
}
echo '...';
if ($i % 5 == 4) {
echo '';
}
$i++;
if ($i % 5 != 0) {
echo '
';
}
echo '';
echo '...';
if (have_posts()) {
the_post();
echo '...';
} else {
echo '';
break;
}
if (have_posts()) {
the_post();
echo '...';
} else {
echo '';
break;
}
if (have_posts()) {
the_post();
echo '...';
} else {
echo '';
break;
}
if (have_posts()) {
the_post();
echo '...';
}
echo '';
echo '';
echo '...';
if (have_posts()) {
the_post();
echo '...';
if (have_posts()) {
the_post();
echo '...';
if (have_posts()) {
the_post();
echo '...';
if (have_posts()) {
the_post();
echo '...';
}
}
}
}
echo '';
= =!!! 这不是很简单吗... 有毛难度啊
$postCount=0; //文章计数
echo '
echo '
}
echo '
$a = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
$s = array();
foreach($a as $k=>$v){
if(count($s) === 5){
echo '';
foreach($s as $key=>$val){
echo ''.$val.'';
}
echo '';
unset($s);
$s = array();
$s[] = $v;
}else{
$s[] = $v;
}
}
if(count($s) > 0){
echo '';
foreach($s as $key=>$val){
echo ''.$val.'';
}
echo '';
unset($s);
}
?>
问题描述的有点简单啊。不过要计数起码要有个产量吧,设置一个i每输出一次i+1,自己尝试一下,这肯定不难实现吧
这个和我以前,做的显示图片一样,5张一列显示。
数据结构:
list
最终输出结构list
第二个listi的大小为5,把数据依次放到listi中,最后用listi放入list,页面输出listi就可以了。
规则其实不难梳理。盯住“已经写入DOM的节点数有多少个”,然后把适当的事件同时插入到节点写入DOM的前后,并不难做。
这个问题唯一的麻烦是:迭代过程中,我们无法知道本次迭代是最后一次。因此迭代结束后,如果总数不被5整除,最后必然剩下一组未封口。所以迭代结束后必须要有一个检查。
'.PHP_EOL);
define("DIV_CONTAINER_END", ''.PHP_EOL);
define("DIV_BOX_START", ' '.''.PHP_EOL);
define("DIV_BOX_END", ' '.''.PHP_EOL);
define("DIV_POST_FORMAT", ' '.'%s'.PHP_EOL);
define("GROUP_BY", 5);
$items = range(1, 11); // try changing $max to 9, 10, 11.
echo DIV_CONTAINER_START;
$written_to_dom = 0;
foreach ($items as $item) // 本行相当于 while(have_posts()):the_post(); 即准备文章内容
{
if ($written_to_dom % GROUP_BY == 0) { echo DIV_BOX_START; }
echo sprintf(DIV_POST_FORMAT, $item); // 本行相当于 the_content(); 即输出文章内容
$written_to_dom += 1;
if ($written_to_dom % GROUP_BY == 0) { echo DIV_BOX_END; }
} // 本行相当于HTML/PHP混写时循环语法的 endwhile; 以及后边的 wp_reset_query();
if ($written_to_dom % GROUP_BY != 0) { echo DIV_BOX_END; }
echo DIV_CONTAINER_END;
烧脑可以,实际工程切勿如此耍巧。请老老实实的在V(View)层抛弃这种取一个输出一个的循环方式。
你需要一次取一批(5个或取到底),然后无脑套一个 题主在题面中否定的“把每5个post存一下其他地方,然后最后一起输出”,其实在实际工程中恰恰是对的。别忘记就好。
我提供我的方法供参考: javascript是运行在浏览器上的脚本语言,连续多年,被评为全球最受欢迎的编程语言。是前端开发必备三大法器中,最具杀伤力。如果前端开发是降龙十八掌,好么javascript就是第18掌:亢龙有悔。没有它,你的前端生涯是不完整的。《php.cn独孤九贱(3)-JavaScript视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了javascript知识。 JavaScript教程123744次播放 jQuery是一个快速、简洁的JavaScript框架。设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等,是全球最流行的前端开发框架之一。PHP中文网根据最新版本,独家录制jQuery最新视频教程,回馈PHP中文网的新老用户。 jQuery教程102229次播放 jQuery是最流行的JS函数库,封装了许多实用的功能,其中最引人入胜的就是Ajax。
jQuery中的Ajax操作,语法简单,操作方便,使Ajax从未如此轻松,前端人员从此不再为与服务器异步交互而发愁,本套课程,精选了最常用的几个方法,从基本的语法到每个参数,再到具体实例进行了全面的讲解。 AJAX教程3695次播放 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持 JavaScript教程3051次播放define("POSTS_PER_GROUP", 5);
echo "div container start";
while (have_posts())
{
$posts_grouped = [];
for ($i=0; $i
if ( have_posts() ) :
global $wp_query;
while ( $splice_post = array_splice( $wp_query->posts, 0, 5 ) ) {
printf( '
相关文章推荐
• 深入浅析PHP文件包含漏洞• PHP关于ajax中在Html页面方法传值有关问题 • 对一个php开发的页逛的一些技术优化的comment • 新手 cookie登陆有关问题 • php-GD库函数(3) 相关课程推荐
独孤九贱(3)_JavaScript视频教程
独孤九贱(6)_jQuery视频教程
jQuery与Ajax基础与实战
Git教程(60分钟全程无废话版)