2014-06-17 2 views
1

while에는 세 조건을 만들었지 만 두 조건 만 표시됩니다. 당신은 필드 "linkfoto"를 볼 수 있습니다 else 조건에 도달하지 못했습니다.

<?php 
$ga= mysql_query("Select * from galeri"); 
while ($v=mysql_fetch_object($ga)) { 

if ($v->video==NULL){ ?> 
<a href="images/galeri/<?php echo $v->foto?>" data-caption="<?php echo $v->judul?> - <?php echo tgl($v->tgl) ?>" data-fit="cover" data-thumb = "images/galeri/<?php echo $v->foto?>"></a> 
<?php } 

else if ($v->foto==NULL AND $v->linkfoto==NULL) { ?> 
<a href="<?php echo $v->video ?>" data-fit="cover" data-caption="<?php echo $v->judul?> - <?php echo tgl($v->tgl) ?>" ><?php echo $v->judul?> - <?php echo tgl($v->tgl) ?></a> 

<?php } else { ?> 
<img src="<?php echo $v->linkfoto?>" data-caption="<?php echo $v->judul?> - <?php echo tgl($v->tgl) ?>" data-fit="cover" data-thumb = "<?php echo $v->linkfoto?>"> 
<?php } }?> 

galeri Table

위의 이미지에서 일을 왜 세 else 더 표시 조건을 포함하지?

+0

이 왜'너무 많은 사용합니까 '태그? echo를 대신 사용하십시오 –

+0

또는'echo'보다 좋습니다 : ['printf()'] (http://php.net/printf) – kero

+1

왜 안 되니? 당신의 다른 조건들이 항상 만족되기 때문에 ... –

답변

2

뿐만 아니라 비어와 else에 도달되지 않습니다 :

교정해야한다.

이 문제를 해결하려면 if을 사용하여 사용하려는 변수에 값이 설정되어 있는지 확인하고 다른 모든 변수가 설정되어 있지 않은지 확인하지 않는 것이 좋습니다.

이 나중에 코드를 수정하고자하는 경우, 당신은 당신이 if 내에서 사용할 수있는 변수를 알 수 있다는 장점이있다
if ($v->foto != NULL) { 
    printf('<a href="images/galeri/%s" data-caption="%s - %s" data-fit="cover" data-thumb = "images/galeri/%s"></a>', 
     $v->foto, $v->judul, tgl($v->tgl), $v->foto); 
} elseif ($v->video != NULL) { 
    //etc 
} else { 

} 

- 당신은 그들이 설정되어 있는지 확인하기 때문에를!

+0

감사합니다. Bro 's Working^_ ^ – user3749630

3

기타 기본 형식 구조 또는 코드와 다른 잠재적 인 문제를 무시

else if ($v->foto=NULL && $v->linkfoto==NULL) { ?> 

두 번째 = 기호를 필요로 말한다 라인. 하나의 등호를 사용하여 NULL$v->foto에 할당하고 있습니다. 첫 번째 체크 $v->video==NULL 아마 사실 일 것이다, 그래서 행 video에서

else if ($v->foto == NULL && $v->linkfoto == NULL) { ?> 
+0

일하지 않습니다 : – user3749630

+0

'var_dump ($ v)' "if"문 뒤에 나에 대해. 제발 편집에 귀하의 질문에 추가하십시오 또한 당신이 또한'&&'대신'AND'를 사용했기 때문에 최신 편집을 확인하십시오 – sjagr

+0

@ user3749630 내 대답을 확인하십시오 - 다른 조건 중 하나가 맞아서 도달하지 못했습니다 – kero

0

당신은, 내가, 그것을 비교를해야 추측하고있어 다른 경우 상태 할당을하고는 수행

$v->foto == NULL 

대신 :

$v->foto = NULL 
관련 문제