2011-06-14 3 views
1

원래의 코드는 다음과 같습니다출력을 홀수 및 짝수로 만드시겠습니까?

<?php 

    foreach($values as $value){ 

     $downlink=node_load($value); 

    echo '<li><input type="checkbox" checked="checked"/>.$downlink->title.'</li>'; 
    } 

?> 

내가

<li class="odd">...</li> 
<li class="even">...</li> 
..... 

이 내 방법입니다 출력을 만들고 싶어. 그러나 그것은 작동하지 않습니다.

$i=0; 
foreach($values as $value){ 

      $downlink=node_load($value); 
      if($i%2==0){ 
echo '<li class="even"><input type="checkbox" checked="checked"/>.$downlink->title.'</li>';} 
else{ 
     echo '<li class="odd"><input type="checkbox" checked="checked"/>.$downlink->title.'</li>'; 
} 
$i++; 
     } 
+3

왜 작동하지 않습니까? 당신이 보는 오류는 무엇입니까? foreach 루프가 첫 번째 일 경우 – TJHeuvel

답변

0

귀하의 행동 방식은 완벽하지만 의도 한대로 작동하지 않을 수있는 작은 결함이 있습니다. 두 진술 모두에서 <li> 태그 뒤에 "/>"다음에 '(작은 따옴표)가 누락 된 것 같습니다.

그것이 (굵은 따옴표주의) 보는 방법입니다 :

에코 '확인 < 리 클래스 = "심지어"> < 입력 유형 = "체크 상자를"=/> 를 "확인"' . $ downlink-> title. '</리 >'

관련이없는 불구하고 또 다른 것은 -이 태그를 </리를 종료 소유하고 있기 때문에 시작 < 리 > 태그의 끝에 결말/(슬래시)를 넣어 필요하지 않습니다 >

8

이 서버 측 작업을 수행하는 내 자신의 개인적인 방법은 다음과 같습니다

$i=0; 
foreach($values as $value){ 
     $downlink=node_load($value); 
     if($i%2==0){ 
      echo '<li class="even"><input type="checkbox" checked="checked"/>'.$downlink->title.'</li>';} 
else{ 
     echo '<li class="odd"><input type="checkbox" checked="checked"/>.$downlink->title.'</li>'; 
} 
$i++; 
     } 
+0

. 이 값은 클래스에 할당됩니다. 클래스와 비교할 가치가 없습니다. 짝수 또는 홀수 출력 방법? 고맙습니다. – zhuanzhou

+1

루프의 첫 번째 반복 이전에 $ class가 다른 것과 같지 않으므로 "짝수"와 같지 않으므로 "odd"로 설정됩니다. 아마도 미리 설정해 두어야 할 것입니다. $ class가 설정되지 않은 경우 $ class를 비교하려고하면 해당 수준의 오류보고가 활성화 된 경우 화면이나 로그에 PHP 알림이 ​​생성됩니다. – Codecraft

+0

루프의 두 번째 반복, $ 클래스도 anything.how 출력과 동일하지 않습니다? 고맙습니다. – zhuanzhou

0

난 당신이 견적을 누락 생각

홀수

+0

그는 실제로 작은 따옴표가'checked = "checked"/ "> " downlink-> title' – tradyblix

+0

따옴표를 쓰고 싶었습니다! :) –

1

또 다른 참고 :

처음부터 $i=1;

foreach ($foo as $bar) { 

    $class = ($class == "even") ? "odd" : "even"; 

    echo "<li class='".$class."'>blah blah</li>"; 

} 
0

수정을 참조하십시오

<?php 
    $i=0; 
    foreach($values as $value){ 
    $downlink=node_load($value); ?> 
    <li class="<?php echo ($i%2==0) ? 'even' :'odd'" ?>> 
    <input type="checkbox" checked="checked"><?php echo $downlink->title;?></li> 
    <?php 
      $i++; 
    }//end of foreach 

참고 : 왜 u는 모든 체크 박스 checked=checked을 넣어 ?? 귀하의 논리는 여기에 잘못 될 수도 있습니다