#php #html
#php #HTML
Вопрос:
У меня есть текстовый файл, из которого я читаю. Основная цель — отобразить информацию из текстового файла в таблицу html. Информация для меня читается нормально, однако вся информация отображается в одной строке.
Текущий код: заголовки таблиц
<tr>
<th>Title</th>
<th>First Name</th>
<th>Last Name</th>
<th>Date of Birth</th>
<th>Social Number</th>
<th>Address</th>
<th>Email</th>
<th>Phone Number</th>
</tr>
<?php
if(!file_exists("patientdata.txt"))
{
echo "The file from above cannot be found!";
exit;
}
$fp = fopen("patientdata.txt", "r");
if(!$fp)
{
echo "File cannot be opened";
exit;
}
echo "<table border = 3>";
while(!feof($fp))
{
$info = fgets($fp);
echo "<td>$info</td>n";
}
echo "</td>n";
echo "</table>";
fclose($fp)
?>
</body>
Комментарии:
1. Использовать
file_get_contents()
2. Как разделяются данные в текстовом файле?
3. Содержимое файла сохраняется построчно, поэтому каждая введенная переменная сохраняется в новой строке. НАПРИМЕР, мисс Чоле Робертс 18-02-2020 9082179041 и т. Д
Ответ №1:
Вы можете использовать следующее, чтобы распечатать данные из вашего текстового файла в таблице HTML:
Примечания:
Это <style>...</style>
небольшая встроенная таблица стилей, которая позволяет вам стилизовать вашу таблицу и другие HTML-элементы на вашей странице (вы также можете создать отдельный css-файл со всем вашим стилем документа и включить его в <head>...</head>
свой HTML-документ).
Чтобы создать таблицу HTML из ваших данных, вам нужно убедиться, что вы не превышаете количество столбцов (в данном случае 8), поэтому мы устанавливаем $cols
значение 8
и используем счетчик ( $count
) для отслеживания.
Итак, когда 8 columns
заполняются данными, row
запускается новый. Логика продолжает отображать строки, пока не останется больше данных, и таблица не будет закрыта </table>
.
<?php
if (!file_exists("patientdata.txt")) {
echo "The file from above cannot be found!";
exit;
}
$fp = fopen("patientdata.txt", "r");
if (!$fp) {
echo "File cannot be opened";
exit;
}
// a bit of styling...
echo <<<EOF
<style>
table, td, th {
table-layout: fixed;
width: 100%;
border-collapse: collapse;
border: 3px solid black;
text-align: left;
}
</style>
EOF;
$count = 0;
$cols = 8; // the number of data items per row
echo '<table>'; // open table
// render headers
echo '<tr><th>Title</th><th>First Name</th><th>Last Name</th>
<th>Date of Birth</th><th>Social Number</th><th>Address</th>
<th>Email</th><th>Phone Number</th></tr>';
echo '<tr>'; // open first row
while(!feof($fp))
{
if($count < $cols) {
$info = fgets($fp);
echo "<td>$info</td>"; // render data item
$count ;
} else {
$count = 0; // reset counter
echo '</tr><tr>'; // close current row, start new row
}
}
echo "</tr></table>"; // close final row, close table
fclose($fp); // close file handle
Комментарии:
1. Рад, что смог помочь!
2. @MarcShields если это отвечает на ваш запрос, вы должны нажать кнопку, чтобы принять ответ, а также рассмотреть возможность его повышения.