2012-04-03 85 views
0

目前,每個td ../ td只打印一行,這使得源代碼非常難以閱讀,任何方式我都可以在新行上打印每個td ../ td元素,使其更具可讀性。如何在PHP中使用新行打印每個​​..</td>?

感謝您的回覆。我試過了這個突破,但它在屏幕上打印,需要放在這裏,但在哪裏?

$entries[$i] = '<td>'.$id[$i] .'</td>'; 
    $entries[$i] .= '<td>'.$username[$i].'</td>'; 
    $entries[$i] .= '<td>'.$first_name[$i].'</td>'; 

進一步編輯:enter image description here

相關的HTML

<!-- Main hero unit for a primary marketing message or call to action --> 
     <div class="hero-unit"> 

     <div class="row"> 

<table class="table"> 
<thead> 
<tr> 
<th>#</th> 
<th>First Name</th> 
<th>Last Name</th> 
<th>Username</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<td>1</td> 
<td>Mark</td> 
<td>Otto</td> 
<td>@mdo</td> 
</tr> 
<tr> 
<td>2</td> 
<td>Jacob</td> 
<td>Thornton</td> 
<td>@fat</td> 
</tr> 
<tr> 
<td>3</td> 
<td>Larry</td> 
<td>the Bird</td> 
<td>@twitter</td> 
</tr> 
</tbody> 
</table> 

    <table class="table table-bordered"> 
    <thead> 
    <tr> 
    <th>ID</th> 
    <th>Username</th> 
    <th>First Name</th> 
    <th>Last Name</th> 
    <th>Email Address</th> 
    <th>Country</th> 
    <th>Referrer</th> 
    </tr> 
    </thead> 

     <tbody> 
     <tr> 

    <?php 

if (isset($content) && !empty($content) && is_array($content)) {//2 
$i = 0; 
$entries = array(); 


    while(array_key_exists($i, $content)) {//1 

    $entries[$i] = "\n" .'<td>'.$id[$i] .'</td>'; 
    $entries[$i] .= "\n" .'<td>'.$username[$i].'</td>'; 
    $entries[$i] .= "\n" .'<td>'.$first_name[$i].'</td>'; 
    $entries[$i] .= "\n" .'<td>'.$last_name[$i].'</td>'; 
    $entries[$i] .= "\n" .'<td>'.$email_address[$i].'</td>'; 
    $entries[$i] .= "\n" .'<td>'.$country[$i].'</td>'; 
    $entries[$i] .= "\n" .'<td>'.$where_about[$i].'</td>'; 
    //$entries[$i] .= '<td>'.$sample[$i].'</td>'; 

    echo $entries[$i]; 


    $i++; 


}//1 

}//2 


?> 

</tr> 
</tbody> 
</table> 
+0

您是否能夠通過下面的任何答案解決此問題,還是仍然打開? – sg3s 2012-04-08 12:20:33

回答

4

CONCAT "\n"的語句前面

編輯

$entries[$i] = "\n" . '<td>'.$id[$i] .'</td>'; 
$entries[$i] .= "\n" . '<td>'.$username[$i].'</td>'; 
$entries[$i] .= "\n" . '<td>'.$first_name[$i].'</td>'; 
+0

謝謝你,嘗試過但不會因爲某些原因而工作。看我的編輯。 – 2012-04-03 20:55:19

+1

應該可以正常工作... – 2012-04-03 20:57:14

+0

好的,非常感謝,我認爲它會解決我的主要問題。源代碼與Bootstrap表中的示例相同,但我的界面不會調整到不同的res,他們會檢查編輯截圖 – 2012-04-03 21:00:20

1

td標籤後使用「\ n」你回聲/打印

1
<? 
    foreach($array as $single) { 
      echo "<td></td> \n"; 
    } 
?> 
1

您可以添加一個換行符到您的打印語句。

echo "My text\n";

您還可以添加標籤來得到它整齊地縮進。

echo "\t\tMy text\n";

1

我只想補充:如果您使用Windows讀取的代碼,你應該使用,而不是僅僅\r\n\n

1

不知道你問什麼,但如果你想擺脫的:

$s .= '<td>' . $n . '</td>'; 

使用($合作意味着關閉打開)

$co = '</td><td>'; 
$row = '<tr><td>' . $data . $co . $data2 . $co . $data3 . '</td></tr>'; 
+0

沒有看到你的編輯當我發佈這個 – 2012-04-03 20:56:16

+0

如果是這樣的話,請編輯或刪除你的答案,這樣它就不會誤導操作 – 2012-04-03 20:59:19

+0

感謝傢伙,檢查我的編輯我認爲你的幫助將解決手頭上的主要問題.. – 2012-04-03 21:05:24

2

一個巧妙的方法是定義一個換行符常數:

define('NL', "\r\n"); 

然後,我們只是Concat的是不斷擔心的不是使用單我們的雙qoutes用法:

$entries[$i] = '<td>'.$id[$i] .'</td>' . NL . 
       '<td>'.$username[$i].'</td>' . NL . 
       '<td>'.$first_name[$i].'</td>' . NL; 

同樣的伎倆ofcourse可適用於標籤:

define('TAB', "\t"); 

因此,我們可以做一些過激這樣的,例如:

$entries[$i] = '<tr>' . NL . 
       TAB . '<td>' . $id[$i] . '</td>' . NL . 
       TAB . '<td>' . $username[$i] . '</td>' . NL . 
       TAB . '<td>' . $first_name[$i] . '</td>' . NL . 
       '</tr>' . NL; 

空間符合課程的個人偏好,但是當您保持一致時,它甚至可以保持您的代碼的可讀性!

在你的情況下,你可以通過遍歷所有字段的foreach循環遍歷那些列(<td>)來使你的代碼更酷。

$entries[$i] = '<tr>' . NL; 

foreach(array('id', 'username', 'first_name') as $key) { 
    $entries[$i] = TAB . '<td>' . ${$key}[$i] . '</td>' . NL; 
} 

$entries[$i] = '</tr>' . NL; 

現在告訴我,這不太酷!

好像你的代碼根本缺乏在其自己的錶行中添加每列的智能(tr),這裏是你的相關的PHP代碼修復和建議的補充,它應該工作,但我不能測試它。

<?php 

define('NL', "\r\n"); 
define('TAB', "\t"); 

if (isset($content) && !empty($content) && is_array($content)) { 
    $i = 0; 
    $entries = array(); 
    $fields = array('id', 'username', 'first_name', 'last_name', 'email_address', 'country', 'where_about'); 

    while(array_key_exists($i, $content)) { 
     $entries[$i] = '<tr>' . NL; 
     foreach($fields as $key) { 
      $entries[$i] = TAB . '<td>' . ${$key}[$i] . '</td>' . NL; 
     } 
     $entries[$i] = '</tr>' . NL; 

     echo $entries[$i]; 
     $i++; 
    } 

} 
?> 

由於我讀這篇文章,通過$內容與邊走邊可能不是好主意,嘗試foreach($content as $index => $value)而不是那麼將使$index$i的equivelant但你不需要使用$content[$index]因爲精確值將出現在$value的foreach中。

+0

感謝man..Check我編輯的問題..我認爲\ n會解決它,但它沒有 – 2012-04-03 21:08:05

+0

啊我想你的問題是,更廣泛表格會導致它溢出到屏幕的右側......現在,這是一個不同的問題。你有一個例子,也許剪切和粘貼屏幕截圖應該是什麼結果?... – sg3s 2012-04-03 21:16:06

+0

好吧,它應該適應大小的例子。即使來源也一樣。 – 2012-04-03 21:18:53

相關問題