2014-05-25 13 views
0

이 함수는 문제가 있습니다. 나는 처음부터 끝까지 넣을 매 3 개의 행을 원한다. 문제는 처음 3 행만 처음으로 작동한다는 것입니다. 그 후 그는 각 가져온 행에 div 태그를 출력합니다.PHP 변수가 증가하고 반향합니다.

function projects($mysqli) 
    { $ret = ""; 
    $count = 0; 
    $divstart = ""; 
    $divend = ""; 
    $statement = $mysqli->query("SELECT id,name,description FROM projects"); 
    while($row = $statement->fetch_array()) 
    { $count++; 
     if ($count == 4) {$divstart ='<div class="row">'; $divend = "</div>"; $count == 0; } 
     $ret = $ret. ''.$divstart.' 
         <div class="col-lg-4"> 
         <div class="panel panel-primary"> 
          <div class="panel-heading"> 
           Primary Panel 
          </div> 
          <div class="panel-body"> 
           <p>'.$row['description'].'</p> 
          </div> 
          <div class="panel-footer"> 
           Panel Footer 
          </div> 
         </div> 
         </div> 
         '.$divend.' ';                
    } 
    return $ret; 
} 

답변

1

모듈러스 연산자는 모든 네 번째 행에 영향을줍니다. 당신이 하나를 원 할 때 $count != 4는 또한 $count 당신의 리셋에 두 ==을했을 때 당신은 당신의 시작/끝 변수를 삭제하지 않는

if ($count % 4 == 0) {$divstart = //....etc 
0

, 당신은 그들을 취소합니다.

if ($count == 4) { 
     $divstart = '<div class="row">'; 
     $divend = "</div>"; 
     $count = 0; 
    } else { 
     $divstart = ''; 
     $divend = ''; 
    } 
+0

완벽하게 작동합니다. :)! 그러나 나는 논리를 이해하지 않았다! 그가

에 4 개의 행을 감싸는 방법. 4 행이 반환 된 후 다시 한 행을 래핑하고 래핑 할 것이라고 생각했습니다. –

관련 문제