OMG I don't even know where to start with that...
A couple of observations:
You are not closing your table rows with a '</td>' in the while loop
You do not have an opening '<table>' or closing '</table>' element.
You are calling extract() at the beginning of each iteration of the while loop and never using any of the resulting variables.
The 'include "../../../../../connect_info_links.php";' call is presumably producing a whole html page with no content, including closing '</body></html>', before any of the content you are producing. If you view source on your first link above, you will see what I mean.
Running a query on your database in every iteration of a loop will put your database under a lot of stress, try and work this into a single query at the beginning/end of the loop if possible
MySQLi is really designed for OO (Object Oriented) use, it would be much better to write your code like this, although since you say you are very inexperienced I suppose this is a secondary consideration
I do not know enough about SQL to fix this - I suspect part of the problem lies in your main SQL query, since the page keeps producing content forever, so far as I can tell, and this would (presumably) because the while loop never exits.
There are two ways do the pagination exercise you would like to do that I can think of...
If you can SELECT (one of) your primary keys from the database you can use that as the increment for the calculation, or, probably a more reliable way to do it would be to use a for loop instead of while.
e.g.
// mysqli_fetch_array() returns NULL when there are no more rows, so compare with that instead of treating it as a boolean
// the variable $i is incremented with every row, so you can use that for the pagination calculation
for ($i = 1; ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) !== NULL; $i++) {
// calculate the page this row is on
$thispage = ceil ( $i / $display );
// do the query (I don't know what this query does - does it need to be done here?)
$qresult = FALSE;
$query='SELECT @rownum:=@rownum+1 rownum, t.* FROM (SELECT @rownum:=0) r, zen_products t';
if (!$result = @mysqli_query($dbc, $query)) {
//print "It looks good from here.";
} else {
$qresult = "The query failed because ". mysql_error() .". <br/><br/>The query was $query";
}
// print the table row
print
'<tr class="rowHeight">
<td class ="leftAlign"> ' . $row['products_common_name'] . '</td>
<td class ="leftAlign">'. $row['products_name'] . '</td>
<td class ="leftAlign">$thispage';
// If the query failed, print the message in the last column
if ($qresult) print " ($qresult)";
// close the last cell and the table row
print '</td>
</tr>';
} // end FOR loop
Try replacing your whole while () {} structure with that and see if it does what you want.
Let us know how you get on.
P.S. sorry for the random attack of info at the top 😉