2013-02-10 4 views
0

안녕하세요, 내 사이트에 기본 좋아하는 시스템이 있습니다. 기본적으로 사용자가을 클릭하면 0에서 1로 user_id-has_liked를 설정합니다.mysql 결과가 없으면 echo?

user_id_has_liked가 0으로 설정된 경우 비슷한 링크를 표시하고 1로 설정하면 달리 표시됩니다. 그러나 나는 결과가 mysql에없는 경우 다음과 같은 링크를 에코라고 말하는 또 다른 조건을 추가하려고합니다.

다른 사람이 제게 어떤 부분을 보여줄 수 있습니까?

<div class="profile_likes"> 
<?php 
$user_like_set = user_like_status(); 
while ($like = mysql_fetch_array($user_like_set)) 
if ($like['user_id_has_liked'] == '0') { ?> 

<a href="like_profile.php?to=<?php echo "$profile_id"; ?>">Like</a>&nbsp;&nbsp;|&nbsp;&nbsp;<? 

$count_likes_set = count_likes(); 
while ($likes = mysql_fetch_array($count_likes_set)) { 

    echo "". $likes['likes'] ." People Like ".$profile[2].""; 

    //$check_new_duos_set = check_new_escort_duos(); while ($newd = mysql_fetch_array($check_new_duos_set)) { 

    ?> 

    <? } }?> 



    <?php 
$user_like_set = user_like_status(); 
while ($like = mysql_fetch_array($user_like_set)) 
if ($like['user_id_has_liked'] == '1') { ?> 

<a href="unlike_profile.php?to=<?php echo "$profile_id"; ?>">Unlike</a>&nbsp;&nbsp;|&nbsp;&nbsp;<? 

$count_likes_set = count_likes(); 
while ($likes = mysql_fetch_array($count_likes_set)) { 

    echo "". $likes['likes'] ." People Like ".$profile[2].""; 

    //$check_new_duos_set = check_new_escort_duos(); while ($newd = mysql_fetch_array($check_new_duos_set)) { 
    ?> 

    <? } }?> 
    </div> 

답변

0

봅니다 에코/인쇄 기능의 사용량의 일관성을 위해 노력하고 PHP 태그를 종료하여 그들을 모방, 코드가 훨씬 명확하게 될 것입니다.

<?php 
    function printLikeLink($likeLink){ 
      echo "<a href='{$likeLink}'>Like this profile</a>"; 
    } 
    $user_like_set = user_like_status(); 
    if ($like = mysql_fetch_array($user_like_set)){ 
     if ($like['user_id_has_liked'] == '1') { 
      echo "<a href=\"unlike_profile.php?to={$profile_id}\">Unlike</a>|"; 
      $count_likes_set = count_likes(); 
      while ($likes = mysql_fetch_array($count_likes_set)) { 
       echo "". $likes['likes'] ." People Like ".$profile[2].""; 
       //$check_new_duos_set = check_new_escort_duos(); while ($newd = mysql_fetch_array($check_new_duos_set)) { 
      } 
     }else printLikeLink("like_profile.php?to={$profile_id}"); 
    }else printLikeLink("like_profile.php?to={$profile_id}"); // Edit this link. 
?> 
+0

이 늘 일을 반환해야합니다. – CuriousMind

+0

아, 정말 고마워. 그의 코드가 제안하는 것처럼 그가 단 하나의 엔트리를 찾고 있다면 if를 while 문으로 대체하고 다른 else 절을 ​​추가 할 수 있습니다. – Montycarlo

+0

누군가가 나에게 무엇을해야하는지 보여 주실 수 있습니다. 매우 혼란 스럽습니다. 감사합니다. –

0

시도는 mysql_num_rows입니다. 레코드 세트에있는 행 수를 알려줍니다. 그 외에도 사용중인 API는 사용되지 않습니다. mysql 사이트에서 대안을 찾으십시오.

0

시도해주세요. 방금 한 번 변경했습니다. user_like_status(); 아무 기록이 발견되지 않는 경우로 MYSQL_ASSOC는 false를 돌려줍니다 따라서 실 거예요 루프 내부로 들어가으로 참 또는 거짓

<div class="profile_likes"> 
<?php 
    $user_like_set = user_like_status();//should return true or false 
    if ($user_like_set == false){ 
     $what = "Like"; 
    }else{ 
     $what = "Unlike"; 
    }?>  
    <a href="like_profile.php?to=<?php echo "$profile_id"; ?>"><?php echo $what ;?></a>&nbsp;&nbsp;|&nbsp;&nbsp; 
    <?php 
    $count_likes_set = count_likes(); 
    while ($likes = mysql_fetch_array($count_likes_set)) { 
    echo "". $likes['likes'] ." People Like ".$profile[2].""; 
    } 
?> 
</div> 
관련 문제