1
我做了一個留言簿表單,它使用fwrite()將數據提交到.txt文件。然後在一個單獨的.php文件中打開.txt文件,分解數據,然後使用foreach循環在表格中顯示項目。在ForEach循環中第三次迭代後創建新的表格行PHP
這就是我的問題所在,我設法讓我的所有數據項都出現在我的第一列(3 X Infinite由於它由用戶簽名留言簿而建立)中的新行中。
我知道有使用計數器和模數的for()和if()方法 - 但我無法獲得它們的位置。我不小心不會在我的表格中顯示任何內容,或者在一行中顯示所有內容,所有內容都在一個單元格中。我發現了很多關於如何使用聲明數組來做到這一點的例子,但我無法弄清楚如何在動態的意義上應用它。
我的代碼:
<?php echo "<h3><center><u>Review What You've Posted</u></center></h3>";
?>
<?php
$firstName = $_POST['firstName'];
echo "<u>Your Name:</u> " .$firstName. "<br><br>";
$yourEmail = $_POST['yourEmail'];
echo "<u>Your Email:</u> " .$yourEmail. "<br><br>";
$yourComments = $_POST['yourComments'];
echo "<u>What You Thought:</u> " .$yourComments. "<br>";
"<br>";
$guestBook = fopen('guestBookData.txt', 'a+');
$outputstring = $firstName . ':' . $yourEmail . ':' . $yourComments
. ':' . "\r";
fwrite($guestBook,$outputstring);
fclose($guestBook)
?>
</main>
這是由稱爲:
<main class="Main Body BG" id="wrapper">
<table style="width:100%" border="3" cellpadding="3">
<caption>Previous Visitors</caption>
<br>
<tr>
<td bgcolor="#FBB2EA" align="center"> Name </td>
<td bgcolor="#FBB2EA" align="center"> Email </td>
<td bgcolor="#FBB2EA" align="center"> Comments </td>
</tr>
<?php
$guestBook = fopen('guestBookData.txt', 'r');
if($guestBook){
while(($dataString=fgets($guestBook)) !==false){
$dataField = explode(':', $dataString);
foreach($dataField as $df){
echo "<tr><td>".$df."</td></tr>";
}
}
fclose($guestBook);
}
?>
</table>
</main>