The only place inside a table that content can appear is inside a cell
within the table (ie inside a td or th).
If you're outputting text outside of the cells but inside the table
structure, then the browser will try and interpret your misplaced text
according to the whims of whoever coded it.
Use the "view source" option of the web browser to see what html is
actually being generated.
Save the following (invalid) html as a file and open it in your browser
if you want to investigate the whims of the coders of your browser.
<html>
<head>
<title>Broken Table</title>
</head>
<body>
<table>
text before the rows
<tr>
text before the header cells
<th>header cell 1</th>
text between the header cells
<th>header cell 2</th>
text after the header cells
</tr>
text between the rows
<tr>
text before the cells
<th>cell 1</th>
text between the cells
<th>cell 2</th>
text after the cells
</tr>
text after the rows
</table>
</body>
</html>
In my firefox, all the wrongly positioned text is concatenated with
intervening whitespace into a single text node prior to the table.
Rgds
Denis McMahon