2016-09-06 73 views
0

我想從表中名稱列表中填充數組以生成表中的垂直標題。填充一個數組,並通過表垂直標題循環

我正在使用foreach循環來顯示某人何時可用於一週中的每一天,並將橫跨頂部的天作爲水平標題和它們的名稱(來自單獨的表),我希望作爲垂直標題沿着桌子的左側。

我的表格代碼如下;

<?php 
    $person = print_r($name_array); 

    foreach($rota_sun as $rota_sunday): ?> 
     <tr>      
      <th scope="row"><?php echo ($person); ?></th> 
      <td data-title="SUNDAY"> 


      <?php if(strpos($rota_sunday['person_name'], $escort) !== false) { ?> 
       <span style="color:green; font-size:22px;"><i class="fa fa-check" aria-hidden="true"></i></span> 
      <?php } else { ?> 
       <span style="color:red; font-size:22px;"><i class="fa fa-times" aria-hidden="true"></i></span> 
      <?php } ?> 
</td> 
</tr> 
    <?php endforeach; ?> 

我的查詢代碼是;

$query = "SELECT id, name from persons"; 
try 
{ 
    $stmt = $conn->prepare($query); 
    $stmt->execute(); 
} 
catch(PDOException $ex) 
{ 
    die("Failed to run query: " . $ex->getMessage()); 
} 

$name_array = $stmt->fetchAll(PDO::FETCH_ASSOC); 

我要去哪裏錯了任何想法 - 陣列得到填充,我可以看到,通過print_r但我似乎無法與我現有的foreach循環正確合併它。

+0

通常會生成表格,從上到下,從左到右閱讀。建模您的代碼來解決這個問題。不過,我仍然有點朦朧,至於你究竟在問什麼。 – Blake

+0

你有什麼問題?我發現你在那個循環中丟失了一些結束標籤。 –

+0

另外th是表頭,td是表數據。在同一行中都沒有任何意義。 –

回答

0

我能夠解決我的問題,並通過名稱列表循環來根據需要生成垂直標題。

截圖 - http://prntscr.com/cf60sf

片段的最後的代碼;

<?php foreach ($escort_names_array as $escort_name_array) : ?> 
<tr>      
<th scope="row"><a href="<?php echo $SITE_URL; ?>girl/<?php echo($escort_name_array['escort_name']); ?>/"><?php echo htmlentities($escort_name_array['escort_name'], ENT_QUOTES, 'UTF-8'); ?></th> 
         <td data-title="SUNDAY"> 
          <?php foreach($rota_sun as $rota_sunday): ?> 
          <?php if(strpos($rota_sunday['escort_name'], $escort_name_array['escort_name']) !== false) { ?> 
           <span style="color:green; font-size:22px;"><i class="fa fa-check" aria-hidden="true"></i></span> 
           <?php // } else { ?> 
           <!--<span style="color:red; font-size:22px;"><i class="fa fa-times" aria-hidden="true"></i></span>--> 
           <?php } ?> 
          <?php endforeach; ?>       
         </td> 

</tr> 
<?php endforeach; ?>