0

「このユーザーをお気に入りに追加する」というdivを表示する方法を見つけようとしていますが、ユーザーのお気に入りが13未満の場合にのみ表示したいと思います。そのため、お気に入りが13個になるとすぐに、div1が非表示になり、div2が表示されます。

私は現在、ユーザーのお気に入りがエコーされる場所とは別のページに自分のdivをエコーアウトしています:

<?php
$account_type = account_type();
while ($acctype = mysql_fetch_array($account_type)) 

if ($profile_id == $_SESSION['user_id'])  { 
}else{
 if ($acctype['account_type'] == 'User')  {

    echo "<div class=\"infobox-profile\"><strong>Add to Favourites ".$profile[2]."</strong> - to add or remove this user to your favourites <a href=\"add_favorutie.php?to=".$profile_id."\">click here</a>";
echo "<div class=\"infobox-fav-close\"></div></div>";
 }}
 ?>

次に、別のページで、ユーザーのお気に入りをエコーアウトします。

<?php
$favourites_set = get_favourites();
$fav_count = mysql_num_rows($favourites_set);
while ($fav = mysql_fetch_array($favourites_set)) {

    echo "<a href=\"profile.php?id={$fav['fav_id']}\"><img width=\"60px\" height=\"60px\" class=\"fav_pic\" src=\"data/photos/{$fav['duo_id']}/_default.jpg\" /></a>";

        } 

だから私が欲しいのは、'お気に入りセットが13のお気に入りをエコーアウトしたとき、ユーザーがこれ以上お気に入りを追加したいかどうかを尋ねるdivが消えて、別のdivをエコーアウトします(例:「ユーザーのお気に入りを超えました」)

私は次のことを試みましたが、phpは初めてで、本当に助けが必要です。誰かが私に何をする必要があるかを教えてもらえますか。

 <? if(mysql_num_rows($favourites_set) < 13) {
        while ($fav = mysql_fetch_array($favourites_set)) {
        $account_type = account_type();
        if ($acctype['account_type'] == 'User')  {

        if ($profile_id == $_SESSION['user_id'])  { 

        echo "favourites exceeded";


}else{

     if ($acctype['account_type'] == 'User')  {

    echo "<div class=\"infobox-profile\"><strong>add favourites ".$profile[2]."</strong> - to add or remove this user to your favourites <a href=\"add_favourites.php?to=".$profile_id."\">click here</a>";
echo "<div class=\"infobox-fav-close\"></div></div>";
 }}
4

1 に答える 1

0

これを行う簡単な方法は、カウント変数を使用してループが完了した反復回数をカウントし、それを使用してテストすることです。

例:

$count=1;

while ($fav = mysql_fetch_array($favourites_set)) 
{
    if ($count<13)
    {
        //loop has not yet iterated 13 times
        //do stuff
    }
    else
    {
        //this loop has iterated 13 times or more. do other stuff.
        //echo out your 'user favourites exceeded' div 
        //and optionally, break the loop to prevent repetition.
        break;
    }
    $count++; //increment the loop counter
}

編集:私はあなたを頭の上にぶつけるつもりはありませんが、mysqliorPDOを使用mysqlします。詳細については、質問のコメントを参照してください。

于 2013-02-13T16:29:00.330 に答える