Вы можете сначала извлечь все данные в массив, а затем выполнить итерацию по этому массиву. Нет необходимости отображать весь этот HTML с PHP.
В верхней части вашего файла вы должны выполнить всю обработку (т.е. получение, проверка данных), а в остатке вы просто напишите обычный HTML , только печать значений с PHP.
Это уже дает вам определенную степень разделения. Другие упоминают шаблоны двигателей (Smarty и т. Д.). Я не думаю, что вам это действительно нужно, потому что PHP сам по себе является механизмом шаблонов.
Только не поддавайтесь искушению делать сложные вещи в вашей презентации;)
Также альтернативный синтаксис для управляющих структур очень полезен для использования в сочетании с презентацией, поскольку он намного лучше читается.
Я немного изменил структуру таблицы, потому что вы не генерировали корректный HTML (вы создаете много таблиц с одинаковым идентификатором в исходном коде).
Это просто генерирует одну таблицу со строкой для каждого клиента.
<?php
$customers = array();
$query1 = mysql_send("SELECT firstname, lastname, email, user, country FROM customers WHERE id='".$_COOKIE['custid']."'");
while ($row = mysql_fetch_array($query1)) {
$cusomters[] = $row;
}
?>
<table id="account_table" style="width:550px; border:none;">
<tr>
<th width="155">Contact Name</th>
<th>Email Address</th>
<th>Username</th>
<th>Country</th>
<th>Time Zone</th>
<th>Activated</th>
</tr>
<?php foreach($customers as $customer): ?>
<tr>
<td width="335">
<?php echo $row['firstname'] ?>
<?php echo $row['lastname'] ?>
</td>
<td><?php echo $row['email'] ?> </td>
<td><?php echo $row['user'] ?></td>
<td><?php echo $row['country'] ?></td>
<td>GMT+1</td>
<td>16 Dec 2009</td>
</tr>
<?php endforeach; ?>
</table>