2016-07-13 1 views
2

В настоящее время у меня есть некоторый код, который восстановить имена и перечисляет их как User1, User2 and User3 likes thisPHP взрываются A, B, C и X другие

$MoreLikers = $this->DBHandle->mysqli->query("SELECT * FROM thread_reply_likes WHERE post_receiver = '".$Row["id"]."'"); 
while($FetchLikers = $MoreLikers->fetch_array()) { 
    $like_user = $this->DBHandle->mysqli->query("SELECT * FROM users WHERE id = '".$FetchLikers["user_giver"]."'"); 
    $LuArray = array(); 
    while($RowLu = $like_user->fetch_array()) { 
     $LuArray[] = $RowLu; 
    } 

    $LuArrayz[] = ""; 

    foreach($LuArray as $Rowz) { 
     $TheLikersList[] = $Rowz["username"]; 

    } 

    if($MoreLikers->num_rows < 4) { 
     $last = array_slice($TheLikersList, -1); 
     $first = join(', ', array_slice($TheLikersList, 0, -1)); 
     $both = array_filter(array_merge(array($first), $last), 'strlen'); 
     $TheLikers = join(' and ', $both); 

     $ListLikers = "<i class='fa fa-thumbs-up'></i> " . $TheLikers . " likes this"; 
    } else { 
     // what to put here if num_rows are more than 3? 
    } 
} 

То, что я хочу сделать, это, если число пользователей (NUM_ROWS в основном) являются более 3, чтобы показать его как User1, User2, User3 and X others likes this, где X - num_rows минус 3.

Я не уверен, как это сделать. Любая помощь приветствуется!

+0

'$ result-> row_count' –

+0

Final редактировать в своем ответе (проверено и работает). –

ответ

0

Вставьте $MoreLikers->num_rows в середине:

if($MoreLikers->num_rows < 4) { 
     $last = array_slice($TheLikersList, -1); 
     $first = join(', ', array_slice($TheLikersList, 0, -1)); 
     $both = array_filter(array_merge(array($first), $last), 'strlen'); 
     $TheLikers = join(' and ', $both); 
     $ListLikers = "<i class='fa fa-thumbs-up'></i> " . $TheLikers . 
         " likes this"; 
} else { 
    $three = array_slice($TheLikersList,0,3); 
    $TheLikers = join(', ', $three); 
    $ListLikers = "<i class='fa fa-thumbs-up'></i> " . $TheLikers . 
        " and " . ($MoreLikers->num_rows-3) . " others like this"; //<======= 
    } 
+1

Ах. Это имеет смысл, спасибо! –

Смежные вопросы