php while-loop- закрывающий div - PullRequest
       0

php while-loop- закрывающий div

0 голосов
/ 31 октября 2011

Я пытаюсь создать какую-то систему нумерации страниц.

Каждая страница содержит не более 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

Это открывает div, когда i равен 1;5;9 .... и закрывается, когда кратно 4 (4; 8; 12 ...). Но я также хочу закрыть div, когда $ i его последнее число, т.е.div после 6-го элемента.

Я не достигну этого

Есть идеи ??

Ответы [ 4 ]

2 голосов
/ 31 октября 2011

просто отметьте $ i после цикла и закройте, если i% 4! = 0 (значит, еще не закрыт)

1 голос
/ 31 октября 2011

Вы должны быть в состоянии подсчитать, сколько строк в вашем результате 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
0 голосов
/ 31 октября 2011

Установить переменную для определения необходимости закрытия и проверки в конце:

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>";
0 голосов
/ 31 октября 2011

Добавьте это после вашего времени:

if ($i%4 != 0) {
  echo"</div>";
}

РЕДАКТИРОВАТЬ: должно быть как @ evildead

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...