php
  • arrays
  • implode
  • 2016-07-13 9 views 2 likes 
    2

    Zur Zeit habe ich einige Code, der Namen und listet sie wie User1, User2 and User3 likes thisPHP implodieren A, B, C und X andere

    $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? 
        } 
    } 
    

    Was ich tun möchte, abzurufen ist, wenn die Anzahl von Benutzern (num_rows grundsätzlich) sind mehr als 3, um es wie User1, User2, User3 and X others likes this zu zeigen, wobei X die num_rows minus 3 ist.

    Ich bin mir nicht sicher, wie das geht. Jede Hilfe wird geschätzt!

    +0

    '$ result-> row_count' –

    +0

    Finale bearbeiten in meiner Antwort (getestet und arbeitete). –

    Antwort

    0

    Insert $MoreLikers->num_rows in der Mitte:

    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

    Ah. Das macht Sinn, danke! –

    Verwandte Themen