我正在尝试制作某种分页系统。
每个页面最多包含4个来自数据库的元素。
每个页面都有一个div(div id ='p1'class ='pagedemo _current')。所以我有以下内容:
$i=0;
$pag=0;
$arr = array();
while($rowNews = mysql_fetch_array($rsNews)){
$i++;
$arr[$i] = $rowNews;
if($i%4==1){
echo "div id='p1' class='pagedemo _current'"
}
...show content...
if($i%4 ==0 ){
echo"</div>"; //close the tag of class="pagedemo"
}
}//end of while
当i为1时,打开div; 5; 9 ....并且在4的倍数(4; 8; 12 ...)时关闭 但是我还想关闭div,当$ i是最后一个数字时,即:如果只有6个结果我想在第6个元素之后关闭div。
我没有完成它
任何想法??
答案 0 :(得分:2)
在你的循环之后检查$ i并关闭如果i%4!= 0(意味着尚未关闭)
$i=0;
$pag=0;
$arr = array();
while($rowNews = mysql_fetch_array($rsNews)){
$i++;
$arr[$i] = $rowNews;
if($i%4==1){
echo "div id='p1' class='pagedemo _current'"
}
...show content...
if($i%4 ==0 ){
echo"</div>"; //close the tag of class="pagedemo"
}
}//end of while
if ($i%4 !=0) {
echo"</div>"; //close the tag of class="pagedemo"
}
答案 1 :(得分:1)
您需要能够计算mysql结果中有多少行。然后将它与迭代器进行比较。
$i=0;
$pag=0;
$arr = array();
$total = mysql_num_rows($rsNews);
while($rowNews = mysql_fetch_array($rsNews)){
$i++;
$arr[$i] = $rowNews;
if($i%4==1){
echo "div id='p1' class='pagedemo _current'"
}
...show content...
if($i%4 ==0 || $i == $total){
echo"</div>"; //close the tag of class="pagedemo"
}
}//end of while
答案 2 :(得分:0)
在您之后添加此内容:
if ($i%4 != 0) {
echo"</div>";
}
编辑:应该像@evildead
答案 3 :(得分:0)
设置变量以检测是否需要关闭并在结尾处检查:
while($rowNews = mysql_fetch_array($rsNews)){
$i++;
$arr[$i] = $rowNews;
if($i%4==1){
$close = true;
echo "div id='p1' class='pagedemo _current'"
}
...show content...
if($i%4 ==0 ){
$close = false;
echo"</div>"; //close the tag of class="pagedemo"
}
}
if($close)
echo"</div>";