Es tut mir leid, wenn ich die Frage falsch verstanden habe - der von Ihnen gepostete Code scheint nicht die von Ihnen gepostete Ausgabe zu erzeugen, trotzdem hier meine zwei Cent; Ich denke, um das Problem zu beheben, das Sie mit den Tabellenüberschriften haben, die sich in den Ergebnissen wiederholen, müssen Sie den Block platzieren, der lautet:
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>';
Innerhalb eines if-Blocks, sodass er nur einmal angezeigt wird:
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>';
}
Und vergessen Sie nicht, $displayed vorher auf false zu initialisieren die While-Schleife.
Abgesehen von der eigentlichen Frage ist dieser von Ihnen gepostete Code außerdem sehr unsicher, da er anfällig für einen Angriff ist, der als SQL-Injection bekannt ist. Ich empfehle Ihnen, so etwas wie vorbereitete PDO-Anweisungen zu verwenden, um sicherzustellen, dass Sie keine Sicherheitsprobleme erleiden.