2013-04-15 2 views
2

mysql 쿼리의 출력을 보여주는 테이블을 만들려고합니다. 그러나 쿼리의 행에 대한 결과가 기본값 인 null00:00:00과 일치하면 대신 ''을 표시하고 싶습니다. 아쉽게도 쿼리에 00:00:00이있는 경우 어떤 이유로 든 내 항목이 ''으로 변경됩니다. 루프를 통해 변수가 재정의되지 않는 문제가 발생할 것으로 예상되지만 완전히 확신 할 수는 없습니다. 어떤 도움을 주셔서 감사합니다. 당신이 6 라인 ($actdep = '';) 모든 값이 쇼를, 주석 경우, 그렇지 않으면 그들 중 누구도하지 않는다변수를 할당하는 MySql While 루프

$table = "<ul data-role='listview' data-theme='b' id='myTabDiv'>"; 
while($row = mysqli_fetch_assoc($res)){ 
    $actdep = $row['actdep']; 

    if($row['actdep'] = '00:00:00'){ 
     $actdep = ''; 
    } 

$table .= "<li><table style='table-layout: fixed; width: 100%'><tr><td>" . $actdep . "</td></tr></table></li>"; 

}; 
$table .= "</ul>"; 
echo $table; 

다음과 같이 PHP 스크립트입니다. 테이블의 값 하나만 00:00:00 시간이 있습니다.

답변

3

if 테스트에서 = 심볼을 사용하고 있기 때문입니다. 비교를 위해 ==을 사용해야합니다 (두 기호와 같습니다). 값을 비교하는 대신 값을 변수에 할당합니다.

+0

나보다 앞서, +1. – Jonast92

+0

오늘의 가장 쉬운 질문! =) 고마워. – EzAnalyst

1

if 문에서 실수했습니다. 동등 비교 연산자를 사용하는 대신 부울 값을 반환하지 않는 값을 설정합니다.

대신,이 시도 :

if($row['actdep'] == '00:00:00'){ 
1

당신은 비교를 위해 == 또는 ===를 사용해야합니다 (후자는 너무 유형을 비교 한 경우, 다른 값의 단지 해석보다) :

if($row['actdep'] == '00:00:00'){ 
    $actdep = ''; 
} 
1

변화를 it to

if($row['actdep'] == '00:00:00'){ 
    $actdep = ''; 
} 

1 대입하면 2가 같음 is com이됩니다.

결연하는
0

내가 오히려 변수를 선언에 나는 또한 사용 equal symbol
하나 오류를 수정했습니다

<ul data-role='listview' data-theme='b' id='myTabDiv'> 
<?php 
while($row = mysqli_fetch_assoc($res)){ 
    $actdep = $row['actdep']; 

    if($row['actdep'] == '00:00:00'){ 
?> 
    <li><table style='table-layout: fixed; width: 100%'><tr><td>&nbsp;</td></tr></table></li> 
<?php 
} else { 
?> 
<li><table style='table-layout: fixed; width: 100%'><tr><td><?php echo $actdep; ?></td></tr></table></li> 
<?php } 
} 
?> 
</ul> 

PHP 외부 html 코드를 삽입 것이다
두,
동일한에 사용됩니다 세가 과 다른 경우 (!=을 다른 것으로 비교할 수 있음)
이므로 ==을 두 번 사용하십시오.