2012-12-24 188 views
0

工作,我有我的PHP另一個while循環中這個while循環:雖然while循環中循環邏輯不是PHP

$selecty = mysql_query("SELECT * FROM followers WHERE userid='".$_SESSION['id']."'"); 

$rowsy = mysql_num_rows($selecty); 

echo '<td>'. $table["username"]. '</td>'; 
echo '<td>'; 

while ($tables = mysql_fetch_assoc($selecty)) { 
    if($tables['followerid']!=$table['id']) { 
     echo '<a href="#" data-userid="'.$table['id'].'" class="follow">'.'</a>'; 
    } else { 
     echo '<a href="#" data-userid="'.$table['id'].'" class="following">'.'</a>'; 
    } 
} 
echo '</td>'; 
echo "<tr>"; 

這更是一個邏輯問題,以及是否嵌套while循環正確的方式來做到這一點。我想說的是,如果'user followers table'中的'followerid'與用戶表中的'id'不一樣(來自前一個循環) - 回顯follow按鈕,否則回顯以下按鈕。

這是工作文件,雖然我在追隨者表中有數據,但如果我什麼也沒有顯示(因爲沒有行) - 我怎麼能在我的PHP中實現這個?因此,如果'追隨者表'中沒有行回顯按鈕按鈕?

+0

了'如果之前($表[ 'followerid']!= $表[ '身份證']) '聲明,迴應這兩個值,看看你得到了什麼。 – Osiris

+0

我只收到用戶名 - 沒有按鈕顯示 –

+0

什麼是兩個額外的大括號? – 2012-12-24 13:36:20

回答

0

在'追隨者'循環的開始放置一個布爾值(FALSE),這樣如果它交叉使它爲真。如果你在循環之外並且它仍然是FALSE,那麼無論如何要添加按鈕。

$trip = FALSE; 

while ($tables = mysql_fetch_assoc($selecty)) { 
    if($tables['followerid']!=$table['id']) { 
    echo '<a href="#" data-userid="'.$table['id'].'" class="follow">'.'</a>'; 
    } else { 
    $trip = TRUE; 
    echo '<a href="#" data-userid="'.$table['id'].'" class="following">'.'</a>'; 
    } 
} 

if(!$trip) echo '<a href="#" data-userid="'.$_SESSION['id'].'" class="follow">'.'</a 
+0

你能告訴我該怎麼實現嗎? –

+0

編輯顯示示例 – ethrbunny

+0

這種有用的...但如果用戶沒有跟隨某人重複它兩次 - 所以class =「follow」 –

1

你可以嘗試那樣做

$selecty = mysql_query("SELECT * FROM followers WHERE userid='".$_SESSION['id']."'"); 

$rowsy = mysql_num_rows($selecty); 

echo '<td>'. $table["username"]. '</td>'; 
echo '<td>'; 

while ($tables = mysql_fetch_assoc($selecty)) { 
    if($tables['followerid']!=$table['id'] and $tables['followerid'] != '') { 
     echo '<a href="#" data-userid="'.$table['id'].'" class="follow"></a>'; 
    } else if($tables['followerid'] =$table['id'] and $tables['followerid'] !='') { 
     echo '<a href="#" data-userid="'.$table['id'].'" class="following"></a>'; 
    } else { 
     echo what you like here when $tables['followerid'] = '' 
    } 
} 

echo '</td>'; 
echo "<tr>"; 

編輯

 class="follow">'.'</a>' 
         ^------------you dont have to make point and single quotes here 

    $selecty = mysql_query("SELECT * FROM followers WHERE userid='".$_SESSION['id']."'"); 

$rowsy = mysql_num_rows($selecty); 
echo '<table><tr>'; 
    echo '<td>'. $table["username"]. '</td></tr>'; 

if ($tables['followerid'] !== ''){ 
while ($tables = mysql_fetch_assoc($selecty)) { 
echo '<tr><td>'; 
if($tables['followerid']!=$table['id'] and $tables['followerid'] != '') { 
    echo '<a href="#" data-userid="'.$table['id'].'" class="follow"></a></td></tr>'; 
} else if($tables['followerid'] =$table['id'] and $tables['followerid'] !='') { 
    echo '<a href="#" data-userid="'.$table['id'].'" class="following"></a></td></tr>'; 
} else { 
    echo "what you like here </td></tr>"; 
} 
} 
} 
else { 

echo "do your code here " ; 
} 

echo "</table>"; 
+0

嗯這仍然沒有顯示任何按鈕? –

+0

按鈕?你的按鈕是什麼意思? u有聯繫''ü可以做他們的'else' –

+0

對不起 - 它仍然沒有顯示的鏈接 - 它顯示了​​用戶名​​但不是以下​​ –