Jeg er ked af, hvis jeg har misforstået spørgsmålet - koden, du postede, ser ikke ud til at producere det output, du postede, ikke desto mindre, her er mine to cents; Jeg tror, at for at løse det problem, du har med tabeloverskrifterne, der gentages gennem resultaterne, skal du placere blokken, der lyder:
echo '<tr>';
echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Product Code</th>';
echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Name</th>';
I siden af en if-blok, sådan at den kun vises én gang:
if(!$displayed) {
$displayed = true;
echo '<tr>';
echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Product Code</th>';
echo '<th style="border-color:#000000; border-style:solid; border-width:1px;font-size:10px;background-image:url(images/buts3.png);color:white"">Name</th>';
}
Og glem ikke at initialisere $displayed til false før while-løkken.
Derudover, men lidt bortset fra selve spørgsmålet, er denne kode, du har postet, meget usikker, da den er sårbar over for et angreb kendt som sql-injektion. Jeg anbefaler, at du bruger noget som PDO-forberedte erklæringer for at sikre, at du ikke lider af sikkerhedsproblemer.