0

こんにちは、私のサイトに基本的ないいねシステムがあります。基本的に、ユーザーがいいねをクリックすると、user_id-has_liked が 0 から 1 に設定されます。

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>
4

3 に答える 3

0

これを試してみてください。user_like_status(); という変更を 1 つ加えただけです。true または 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>
于 2013-02-10T15:31:52.783 に答える
0

echo/print 関数の使用法に一貫性を持たせるように努め、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.
?>
于 2013-02-10T14:31:23.023 に答える
0

mysql_num_rowsを試してみてください。レコード セットに存在する行数が表示されます。それに加えて、使用している API は非推奨です。mysql サイトで推奨される代替案を探してください。

于 2013-02-10T14:32:01.513 に答える