2016-11-22 62 views
0

我遇到了imploding列表的問題。該數據是正確的,但我無法弄清楚如何把它變成一個格式,每個結果(數據塊)被包裝成我試圖用包圍的div:在自己的div中包裝每個單獨的數組數據塊

$pending_friend_list = '<div class="pending-friend-list-row">'. implode($friends_pending_arr) . '</div>'; 

我想它出現這樣的:

<div class="pending-friend-list-row">1</div> 

<div class="pending-friend-list-row">2</div> 

<div class="pending-friend-list-row">3</div> 

所有這一切都在做現在把所有的崩盤數據整合到一個DIV一樣,<div class="pending-friend-list-row">123</div>

任何想法?

全碼:

$friends_pending_arr = array(); 
    $friends_pending_sql = " 
     SELECT * 
     FROM friends 
     WHERE friend_two = ? 
     AND status = ? 
    "; 
    $pending_friend_count_stmt = $con->prepare($friends_pending_sql); 
    $pending_friend_count_stmt->execute(array($user_id, $status_one)); 
    $pending_friend_rows = $pending_friend_count_stmt->fetchAll(PDO::FETCH_ASSOC); 
    echo '<div id="pending-request_count">Total Pending Friends -' . $total_pending_count . '</div>'; 
    foreach ($pending_friend_rows as $pending_friend_row) { 
     $pending_friend_1   = $pending_friend_row['friend_one']; 
     $pending_friend_2   = $pending_friend_row['friend_two']; 
     $pending_friend_status  = $pending_friend_row['status']; 
     $pending_friend_status_date = $pending_friend_row['date']; 
     $total_pending_friends  = $pending_friend_1 . "<br>" . $pending_friend_2; 

     if ($pending_friend_2 == $user_id) { 
      $friends_pending_arr[] = $pending_friend_1; 
     } 
    } 
    //echo implode("<br>",$friends_pending_arr); 
    //$pending_friend_list = implode("<br>",$friends_pending_arr); 
    $pending_friend_list = '<div class="pending-friend-list-row">'. implode($friends_pending_arr) . '</div>'; 
    echo $friend_status_button . "<br>"; 
    echo $profile_viewer_message; 
?> 
    <div id="main"> 
     <div id="pending-friend-list-container"> 
      <div id="pending-friend-list-summary"> 
       <?php //echo '<div class="pending-friend-list-row">'. $pending_friend_list . '</div>'; 
        echo $pending_friend_list; 
       ?> 
      </div> 

CSS

.pending-friend-list-row { 
    height: 50px; 
    width: 100%; 
    border: 1px solid green; 
    background: gray; 
} 

回答

3

您希望您的膠水結束一個DIV並開始下一次這樣的:

$pending_friend_list = '<div class="pending-friend-list-row">'. implode('</div><div class="pending-friend-list-row">', $friends_pending_arr) . '</div>'; 

更多關於如何使用膠水與implode

1

您可以在foreach循環過程中把你的HTML在一個變量稍後打印,這樣

$output = ''; 
foreach ($pending_friend_rows as $pending_friend_row) { 
    $pending_friend_1   = $pending_friend_row['friend_one']; 
    $pending_friend_2   = $pending_friend_row['friend_two']; 
    $pending_friend_status  = $pending_friend_row['status']; 
    $pending_friend_status_date = $pending_friend_row['date']; 
    $total_pending_friends  = $pending_friend_1 . "<br>" . $pending_friend_2; 

    if ($pending_friend_2 == $user_id) { 
     $pending_friend_list .= <div class="pending-friend-list-row">'. $pending_friend_1 . '</div>' 
    } 

} 

現在可以,無論你想呼應$pending_friend_list

echo $friend_status_button . "<br>"; 
echo $profile_viewer_message; 
?> 
<div id="main"> 
    <div id="pending-friend-list-container"> 
     <div id="pending-friend-list-summary"> 
      <?php echo $pending_friend_list;?> 
     </div> 

希望它有助於

1
$myArray = ['foo', 'bar', 'baz']; 

$output = implode("\n", array_map(
    function($a){ return sprintf('<div class="divvy-div">%s</div>', $a); }, 
    $myArray 
)); 

echo $output; 

輸出:

<div class="divvy-div">foo</div> 
<div class="divvy-div">bar</div> 
<div class="divvy-div">baz</div> 

http://php.net/manual/en/function.array-map.php

相關問題