2012-05-08 43 views
0

我想知道如何找到最後一個與PHP的表,如果是最後那麼我想要應用不同的風格和內容。我怎樣才能找到最後​​與PHP表

這是我的代碼生成表內容的一部分。

$content .= '</tr>'; 

    $totalcols = count ($columns); 
    if (is_array ($tabledata)) 
    { 
    foreach ($tabledata as $tablevalues) 
    { 
     if ($tablevalues[0] == 'dividingline') 
     { 
     $content .= '<tr><td colspan="' . $totalcols . '" style="background-color:#efefef;"><div align="left"><b>' . $tablevalues[1] . '</b></div></td></tr>'; 
     continue; 
     } 
     else 
     { 
     $content .= '<tr>'; 
     foreach ($tablevalues as $tablevalue) 
     { 
      $content .= '<td>' . $tablevalue . '</td>'; 
     } 

     $content .= '</tr>'; 
     continue; 
     } 
    } 
    } 
    else 
    { 
    $content .= '<tr><td align="center" style="border-bottom: none;" colspan="' . $totalcols . '">No Records Found</td></tr>'; 
    } 

我知道有一個選項可以做這樣的事情用jQuery以後,但我不想把它複雜化,並用PHP的時候正好解決了它,當我生成表格。

+2

爲什麼你需要這個?可能有另一種方法。 –

+0

你的問題不清楚。你想[做這個](http://stackoverflow.com/questions/1070244/how-to-determine-the-first-and-last-iteration-in-a-foreach-loop)? –

+1

你不能只計算'$ tablevalues'嗎? – Elen

回答

2

保持計數:

$count = 1; 
foreach ($tablevalues as $tablevalue) 
{ 
    $count++; 

    if($count > count($tablevalues)) { 
     echo "Last td tag is up next! "; 
    } 
    $content .= '<td>' . $tablevalue . '</td>'; 
} 
+0

這一個作爲魅力工作。真棒! – ProDraz

0

您應該使用for($i = 0; i < count($tablevalues); $i++) {}循環並考慮count($tablevalues)-1是您的陣列的最後一個鍵。

這樣$tablevalues[count($tablevalues)-1]是您最後的<td>

0

你爲什麼不使用jQuery有這樣一些規定做這樣的事情。

+0

因爲我不能使用jQuery +而是讓它在生成時完成。 – ProDraz

1

您可以在最後一個循環執行任何代碼:

for($i=0;$i<count($tablevalues);$i++) 
{ 
    $tablevalue=$tablevalues[$i]; 
    $content .= '<td>' . $tablevalue . '</td>'; 
    if($i==count($tablevalues)-1){ 
     // last loop execution 
    } 
} 
1

這裏是一個以某種方式欺騙

foreach ($tablevalues as $k => $tablevalue) 
{ 
    if ($k==count($tablevalues)-1) 
    { 
    // last td of current row 
    $content .= '<td>' . $tablevalue . '</td>'; 
    } 
    else 
    { 
    $content .= '<td>' . $tablevalue . '</td>'; 
    } 
} 

我只是希望你對你的$ tablevalues的按鍵設置匹配該代碼。