2011-02-25 5 views
0

쿼리없는 경우 반환하지 '0': 나는 그것을 사용하는 경우 여기PHP 에코 코드 여기에는 결과

$query = "SELECT name,deleted,COUNT(message) as message FROM guestbook_message WHERE name='".$name."' AND deleted=1 GROUP BY name"; 
$result = mysql_query($query) or die(mysql_error()); 
$deletedtotal_row = mysql_fetch_array($result); 

:

echo "You have had ".($deletedtotal_row['deleted']) ? $deletedtotal_row['deleted'] : '0'." messages deleted"; 

이 오류가, 구문 오류가 표시되지 않습니다, 결과를 표시하지는 않습니다.

하지만 사용할 때 : 그것은 잘 작동

echo ".$totaldeleted_row['deleted']."; 

. 그러나 해당 사용자에 대해 삭제 된 메시지가 없으면 아무것도 반환하지 않지만 '0'으로 표시하려고합니다.

내가 잘못 가고있는 아이디어가 있습니까?

답변

0

변경이 : 또한

echo "You have had ".($deletedtotal_row['deleted'] ? $deletedtotal_row['deleted'] : '0')." messages deleted"; 

echo ".$totaldeleted_row['deleted'].";이 매우 나쁘다. 대신이 작업을 수행합니다 :

echo $totaldeleted_row['deleted']; 
+0

그것은 * * 아주 나쁜 아니다. 최적이 아닐 수도 있습니다. 읽을 가치가 없을 수도 있습니다. 그러나 그것은 결코 나쁜 것이 아닙니다. (특히 대안과 관련이 있습니다) ... – ircmaxell

+0

답해 주셔서 감사합니다. 이름 = ". $ 이름"사용 중입니다. 쿼리에서 사용할 수 있습니까? – Tom

+0

내가 그것을 사용할 때 모든 div를 동기화하지 못한 것처럼 보입니다. '0'결과를 표시하려고 시도 할 때까지는 문제가 없습니다. div는 또한 PHP 내부에 있습니다. – Tom

1
echo "You have had ".intval($deletedtotal_row['deleted'])." messages deleted"; 
+0

왜 누군가가 이것을 줄 였는지 알지 못하지만 오타를 수정하지 않아도되지만 더 나은 코드를 제안합니다. – Lekensteyn

0
if(mysql_num_rows($result)==0) { 
    echo 'no rows'; 
} else { 
    echo "You have had " . $deletedtotal_row['deleted'] ." messages deleted"; 
} 
+0

에코의 내부에서 호출하므로 작동하지 않습니다. – Tom

+0

그냥 var을 설정하고 에코에서 사용할 수 있습니다.하지만 아마도 intval()을 사용하는 것이 더 나은 해결책이라고 생각합니다. –

0

감사합니다 모두들.

echo "You have had ".($deletedtotal_row['deleted'] ? $deletedtotal_row['deleted'] : '0')." messages deleted"; 
+0

다른 사람의 대답을 사용하는 경우 대답을 수락함으로써 인정해야합니다. 그것은 당신의 수용 평가에 도움이됩니다. 또한 스택 교환 네트워크의 기초이기도합니다. – xzyfer

0

사용 : 나는 작업을 얻었다

sprintf("You have had %d messages deleted", $deletedtotal_row['deleted');