2012-10-23 3 views
-2

이 검색어로 의견을 찾고, 의견이 있으면 표시해야하는 의견이없는 경우 아직 코멘트가 없습니다.IF/ELSE가 원하는 결과를 표시하지 않습니다.

주석이 올바르게 표시되지만 주석이 표시되지 않는 if 함수가 작동하지 않습니다.

$comments = mysql_query ("SELECT * FROM comments WHERE post_id = '". $_GET['id']."'"); 

while ($comment = mysql_fetch_array ($comments)) { 

    //If there are'nt any results 
    if(mysql_num_rows($comment) < 0) { 
     echo "No comments yet!"; 

} else { 

    //If there are any results 
     echo "<p>" . $comment['comment'] . "</p> 
      <p><b>" . $comment['author'] . "</b>, " . date("M j, Y ", strtotime($comment["date"])) . "</p>"; 
    } 
} 
+0

경우 (mysql_num_rows도 ($ 코멘트) <1) - 변경 0-1 – s3polz

+0

"일하지 않는다"는 말의 의미를 정확하게 정의하십시오. – Leri

+0

'(mysql_num_rows ($ comment) <0)'아무 것도 발견되지 않으면 0이 될 것이지만 0보다 작기를 원하면 else 부분으로갑니다. 0에서 1로 변경하면 효과가 있습니다. – CustomX

답변

1

당신은 당신의 코드를 재구성해야 당신은 0 코멘트 비교에 실수 있습니다

$comments = mysql_query ("SELECT * FROM comments WHERE post_id = '". $_GET['id']."'"); 

//If there are'nt any results 
if(mysql_num_rows($comments) == 0) { // <-- watch for 0 results 
    echo "No comments yet!";    
} 
else { 
    while ($comment = mysql_fetch_array ($comments)) {       
    //If there are any results 
    echo "<p>" . $comment['comment'] . "</p> 
    <p><b>" . $comment['author'] . "</b>, " . date("M j, Y ", strtotime($comment["date"])) . "</p>"; 
    } 
} 
+0

sp3polz : 시도했지만 작동하지 않았다. PLB : 작동하지 않음 = 아무 것도 표시되지 않습니다. JvdBerg : 코드를 리라 이징하고 숫자를 0에서 1로 변경했습니다. thx 얘들 아! –

+0

나 또는 그 코드가 완전히 논리가 아닌가요? IF 함수에서 $ comment가 0 행 이상을 표시하는지 여부를 확인하지만 $ comment를 아무 곳이나 정의하지 않고 $ comment에 값을 부여하는 쿼리를 실행합니까 (else 부분에서만 수행됩니다)? – CustomX

+0

mysql_num_rows에 오타가 있었는데, – JvdBerg

0

문제는 다음과 같습니다

if(mysql_num_rows($comment) < 0) 

당신은 0보다 작은 수 없습니다를 행. 변경 사항 :

if(mysql_num_rows($comment) <= 0) 

(이 때 또는 == 0, 또는 정말 아무것도 실행할 것이라고 0이 아닌 0 이상)

관련 문제