Przykro mi Jeśli źle zrozumiałem pytanie – kod, który wysłałeś, nie wydaje się odpowiadać przesłanym przez Ciebie wynikom, niemniej jednak oto moje dwa centy; Myślę, że aby rozwiązać problem, który masz z powtarzającymi się nagłówkami tabeli w wynikach, musisz umieścić blok, który brzmi:
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>';
Po stronie bloku if, tak aby wyświetlał się tylko raz:
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>';
}
I nie zapomnij zainicjować $displayed na false przed pętla while.
Ponadto, ale nieco poza samym pytaniem, ten kod, który wysłałeś, jest bardzo niepewny, ponieważ jest podatny na atak znany jako wstrzyknięcie sql. Zalecam użycie czegoś takiego jak przygotowane oświadczenia PDO, aby upewnić się, że nie masz problemów z bezpieczeństwem.