0
我想從逗號分隔的文本文件中存儲的名稱列表中創建一個5列html表格。從PHP中的文本文件創建一個HTML表格
我有這麼遠,但我遠離主管的編碼器,需要一些幫助。目前它在一個長列中顯示錶格。
<?php
$f = fopen("names.txt", "r");
while (!feof($f)) {
$arrM = explode(",",fgets($f));
$val = current ($arrM) ;
print "<table border=1>";
while ($val)
{
print "<tr> <td> $val </td> ";
$val = next ($arrM) ;
print "<td> $val </td> </tr> ";
print "\n";
$val = next ($arrM);
}
print "</table>";
}
?>
在此先感謝非常
分辨...繼承人的尋找同樣的幫助,任何的Google的代碼..
<?php
$tdcount = 1; $numtd = 3; // number of cells per row
print "<table>";
$f = fopen("names.txt", "r");
while (!feof($f)) {
$arrM = explode(",",fgets($f));
$row = current ($arrM);
if ($tdcount == 1)
print "<tr>"; print "<td>$row </td>";
if ($tdcount == $numtd) {
print "</tr>";
$tdcount = 1;
} else {
$tdcount++;
}
}
if ($tdcount!= 1) {
while ($tdcount <= $numtd) {
print "<td> </td>"; $tdcount++;
} print "</tr>";
}
print "</table>";
?>
您需要關閉你的''
等等。 – Matt 2012-07-31 15:39:44
請把它作爲你的問題的編輯,而不是一個不可讀的評論。 – Matt 2012-07-31 16:24:44
回答
如果
$arrM
包含執行explode()
得出一個數組在你的逗號分隔的數據串上,你所要做的就是foreach()
$arrM
當然,這是如果你想創建一個包含一列和多行的垂直表。但是,如果這是你想要完成的,那聽起來更像是一張表而不是一張表。在這種情況下,你可以試試這個:
然後你可以使用CSS(級聯樣式表)來設置它的樣式。
UPDATE:如果你想要做的顯示在列中的所有名字,只分離出
<tr>
標籤:相反如果你只是想列x個,還有一個辦法做到即:
我的數學可能是關閉的,但您應該至少可以使用此代碼並對其進行調試。
來源
2012-07-31 15:41:19 Matt
感謝您的回答。你的代碼比我的簡單得多,但已經達到了同樣的效果。是否可以擴展您的代碼以生成5列。該數組包含數百個名稱,因此需要多於1列 – 2012-07-31 15:46:47
@GaryWaudby該表預計是否適合一個網頁的寬度?因爲如果你有數百列,那肯定不會。 – Matt 2012-07-31 15:56:49
歡呼的幫助。使用您的幫助和建議添加上面的解決方案 – 2012-07-31 16:29:17
打印一個CSV文件作爲HTML表,不管它有多少列有,使用
fgetcsv()
:來源
2012-07-31 16:37:54 feeela
相關問題