В настоящее время я использую эту таблицу html, используя SQL-результаты для ее заполнения:
<table>
<table border="1">
<tr>
<th>Username</th>
<th>holid</th>
<th>Start date</th>
<th>end date</th>
<th>Work days off</th>
</tr>
<?php foreach($rows as $row): ?>
<table border="1">
<tr>
<td><?php echo htmlentities($row['username'], ENT_QUOTES, 'UTF-8');?></td>
<td><?php echo htmlentities($row['starthol'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['endhol'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['days'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><a href="#">Approve</a></td>
<td><a href="#">Reject</a></td>
</tr>
<?php endforeach; ?>
</table>
Это прекрасно работает и все, но стол очень грязный, а заголовки не соответствуют действительности. Есть ли простой способ сделать это чище (php beginner).
Вот лишний тег таблицы удалил кодировку и см. Ниже для кодировки css.
<table border="1">
<tr>
<th>Username</th>
<th>holid</th>
<th>Start date</th>
<th>end date</th>
<th>Work days off</th>
</tr>
<?php foreach($rows as $row): ?>
<tr>
<td><?php echo htmlentities($row['username'], ENT_QUOTES, 'UTF-8');?></td>
<td><?php echo htmlentities($row['starthol'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['endhol'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php echo htmlentities($row['days'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><a href="#">Approve</a></td>
<td><a href="#">Reject</a></td>
</tr>
<?php endforeach; ?>
</table>
/*css styles*/
table {
border-collapse: collapse;
}
/* Zebra striping */
tr:nth-of-type(odd) {
background: #eee;
}
th {
background: #333;
color: white;
font-weight: bold;
}
td, th {
padding: 6px;
border: 1px solid #ccc;
text-align: left;
}
Удалите вторую <table border="1">
, которая находится ниже инструкции foreach
.
EDIT: И один из первых. Каждый <table>
должен иметь одну соответствующую </table>
(которая относится ко всем тегам в HTML
!)
Также попробуйте сопоставить <th>
с <td>
s. Прямо сейчас 5 <th>
и каждая строка имеет 6 <td>
s.
<tr>
и что внутри них ...