Php Foreach分页

Php Foreach分页,php,wordpress,foreach,pagination,Php,Wordpress,Foreach,Pagination,我正在寻找有关如何为foreach输出分页的帮助。我看了其他的问题和答案,找不到一个适合我的解决方案,也找不到一个我自己能找到的解决方案。现在,下面的代码将所有内容输出到表行中。当然,我的问题是,它将所有数据转储到一个页面上——因此我需要分页。我想为页面上的每11项分页。该页面是一个杂志档案,每年有11期-因此每一页相当于我们杂志的1年。第一页应该是第1-11期,第二页应该是第12-22期,等等。我们有10年的杂志期。任何帮助都将不胜感激。谢谢大家! <table> <tr&g

我正在寻找有关如何为foreach输出分页的帮助。我看了其他的问题和答案,找不到一个适合我的解决方案,也找不到一个我自己能找到的解决方案。现在,下面的代码将所有内容输出到表行中。当然,我的问题是,它将所有数据转储到一个页面上——因此我需要分页。我想为页面上的每11项分页。该页面是一个杂志档案,每年有11期-因此每一页相当于我们杂志的1年。第一页应该是第1-11期,第二页应该是第12-22期,等等。我们有10年的杂志期。任何帮助都将不胜感激。谢谢大家!

<table>
<tr>
<?php $col = 0; ?>
<?php foreach (get_terms('term') as $cat) : ?>

<?php if ($col > 0 && $col % 3 == 0): ?>
</tr>
<tr>
<?php endif; ?>
<?php $col++; ?>

<td>

<a href="<?php echo get_term_link($cat->slug, 'term'); ?>"><strong><?php echo $cat->name; ?></strong></a><br>

<em><a href="<?php echo get_term_link($cat->slug, 'term'); ?>"><?php echo $cat->description; ?></a></em><br>

<a href="<?php echo get_term_link($cat->slug, 'term'); ?>"><img src="<?php echo z_taxonomy_image_url($cat->term_id); ?>" /></a>
</td>
<?php endforeach; ?>
</tr>
</table>

这是什么框架/应用程序?虽然我不能百分之百地理解数据来自何处,但当您点击11个条目或从0开始时点击10个条目时,您可以尝试修改代码以添加中断

<?php $col = 0; ?>
<?php foreach (get_terms('term') as $cat) : ?>

<?php if ($col > 0 && $col % 3 == 0): ?>
</tr>
<tr>
...
<?php if(10 == $col) { break;}
endforeach; ?> 

我想这就是你想要的:

get_terms('term', array('offset' => $page * 11, 'number' => 11));
其中$page第一页从0开始。如果希望页面从1开始,请使用$page-1*11

如何确定要显示的页面取决于您


有关更多信息,请参阅get_terms文档:

这可能不是您一直在寻找或期望的内容,但希望您或其他人觉得有用。 下面的脚本完成了小型配置所需的所有操作 您需要将ps_pagination.php包含到要使用它的页面中,然后使用以下代码填充分页页面上的信息。 希望对你有帮助

 db_connection = mysql_connect('localhost', 'user', 'password')or die("cannot connect"); 
        mysql_select_db('database',$conn);
// mysql query         
    $sql_query="SELECT * FROM example ORDER BY id DESC";
// Create the ps_pagination object here
    $pager = new ps_pagination($db_connection,$sql_query,10,5);   

//The paginate() function returns a mysql result set   
    $rs = $pager->paginate();   
    while($rows = mysql_fetch_assoc($rs)) {   

// table to display results here // modify here 
    echo $rows["title"].'</p>';
    echo '<p> '.$rows["post"].'</p>';
    echo '<p><span class="style1">By</span>: '.$rows["name"].' ';
    echo '<p>Date/Time</span>:'.$rows["datetime"].'</p>';                           
    echo "<BR>";
}   
// close mysql connection here
  mysql_close();

//Display the full navigation in one go   
    echo $pager->renderFullNav();

以下是我用来解决问题的代码:

<?php
$url = $_SERVER["REQUEST_URI"];
$segments = explode('/', $url);
$page = is_numeric($segments[count($segments)-2]) ? $segments[count($segments)-2] : 1;
$next = $page + 1;
$prev = $page - 1;
$issues_per_page = 11;
$lastpage = ceil(wp_count_terms( 'mag') / $issues_per_page) ;
?>

<?php wp_count_terms( 'mag' ); ?>

<table>
<tr>
<?php $col = 0; ?>
<?php foreach (get_terms('mag', array('offset' => ($page - 1) * $issues_per_page, 'number' => $issues_per_page)) as $cat) : ?>

<?php if ($col > 0 && $col % 3 == 0): ?>
</tr>
<tr>
<?php endif; ?>
<?php $col++; ?>

<td>

<a href="<?php echo get_term_link($cat->slug, 'mag'); ?>"><strong><?php echo $cat->name; ?></strong></a><br>

<em><a href="<?php echo get_term_link($cat->slug, 'mag'); ?>"><?php echo $cat->description; ?></a></em><br>

<a href="<?php echo get_term_link($cat->slug, 'mag'); ?>"><img src="<?php echo z_taxonomy_image_url($cat->term_id); ?>" /></a>
</td>
<?php endforeach; ?>
</tr>
</table>


<?php if ($prev > 0) : ?>
<a href="/mag-archive?page=<?php echo $prev; ?>">Previous</a>
<?php endif ?> 
<?php if ($page < $lastpage) : ?>
<a href="/mag-archive?page=<?php echo $next; ?>">Next</a>
<?php endif ?>

请标记您的框架,以便其他人能够理解。谢谢您的帮助建议Joel。洛尔卡特猜对了。我给它贴上了标签。我的一个问题是,按照您的建议,修改如何选择第二页上的数据。甚至限制语法。我在这方面是个新手,所以这些建议目前超出了我的能力范围。如果这对您来说很容易,并且您愿意推荐一些代码,那将非常有帮助。现在我会继续研究你和其他人的建议,以便自己去做。非常感谢。谢谢你的礼物,mcrumley,看起来不错。但是你知道如何把它转换成我正在使用的模算子吗?我试过了,在你的领导下工作,但我还没得到。我还在研究。再次感谢…模运算符有什么问题?看起来您正试图在三列中显示结果。这不管用吗?我的一个朋友帮了我的忙。谢谢你给我指明了正确的方向。我已经发布了我在回答我的问题时使用的代码。再次感谢你。
<?php
$url = $_SERVER["REQUEST_URI"];
$segments = explode('/', $url);
$page = is_numeric($segments[count($segments)-2]) ? $segments[count($segments)-2] : 1;
$next = $page + 1;
$prev = $page - 1;
$issues_per_page = 11;
$lastpage = ceil(wp_count_terms( 'mag') / $issues_per_page) ;
?>

<?php wp_count_terms( 'mag' ); ?>

<table>
<tr>
<?php $col = 0; ?>
<?php foreach (get_terms('mag', array('offset' => ($page - 1) * $issues_per_page, 'number' => $issues_per_page)) as $cat) : ?>

<?php if ($col > 0 && $col % 3 == 0): ?>
</tr>
<tr>
<?php endif; ?>
<?php $col++; ?>

<td>

<a href="<?php echo get_term_link($cat->slug, 'mag'); ?>"><strong><?php echo $cat->name; ?></strong></a><br>

<em><a href="<?php echo get_term_link($cat->slug, 'mag'); ?>"><?php echo $cat->description; ?></a></em><br>

<a href="<?php echo get_term_link($cat->slug, 'mag'); ?>"><img src="<?php echo z_taxonomy_image_url($cat->term_id); ?>" /></a>
</td>
<?php endforeach; ?>
</tr>
</table>


<?php if ($prev > 0) : ?>
<a href="/mag-archive?page=<?php echo $prev; ?>">Previous</a>
<?php endif ?> 
<?php if ($page < $lastpage) : ?>
<a href="/mag-archive?page=<?php echo $next; ?>">Next</a>
<?php endif ?>