Déplacez les lignes de votre tableau à l'intérieur de la boucle while et votre ligne de titre avant la boucle, puis vous verrez toutes les données et pas seulement la dernière ligne
$sql = $wpdb->prepare("select i.siteID
, i.siteNAME, i.equipmentTYPE, c.latitude
, c.longitude, c.height , o.ownerNAME
, o.ownerCONTACT, x.companyNAME, y.subcontractorCOMPANY
, y.subcontractorNAME, y.subcontractorCONTACT
from site_info i
LEFT JOIN owner_info o on i.ownerID = o.ownerID
LEFT JOIN company_info x on i.companyID = x.companyID
LEFT JOIN subcontractor_info y on i.subcontractorID = y.subcontractorID
LEFT JOIN site_coordinates2 c on i.siteID=c.siteID
where i.siteNAME = %s
AND o.ownerNAME = %s
AND x.companyNAME = %s
",$site_name,$owner_name,$company_name);
$query_submit =$wpdb->get_results($sql, OBJECT);
echo "<br>";
echo "<br>";
// table that will dsiplay the results based on the user's selection //
echo "<table width='30%' ";
echo "<tr>";
echo "<td>Site Name</td>";
echo "<td>Owner Name</td>";
echo "<td>Company Name</td>";
echo "<td>Subcontractor Name</td>";
echo "<td>Site ID</td>";
echo "<td>Equipment Type</td>";
echo "<td> Lattitude</td>";
echo "<td>Longitude </td>";
echo "<td> Height</td>";
echo "<td> Owner Contact</td>";
echo "<td> Sub Contact</td>";
echo "<td> Sub company Name</td>";
echo "</tr>";
foreach ($query_submit as $obj) {
echo "<tr>";
echo "<td>".$obj->siteNAME."</td>";
echo "<td>".$obj->ownerNAME."</td>";
echo "<td>".$obj->companyNAME."</td>";
echo "<td>".$obj->subcontractorNAME."</td>";
echo "<td>".$obj->siteID."</td>";
echo "<td>".$obj->equipmentTYPE."</td>";
echo "<td>".$obj->latitude."</td>";
echo "<td>".$obj->longitude."</td>";
echo "<td>".$obj->height."</td>";
echo "<td>".$obj->ownerCONTACT."</td>";
echo "<td>".$obj->subcontractorCONTACT."</td>";
echo "<td>".$obj->subcontractorCOMPANY."</td>";
echo "</tr>";
}
echo '</table>';
?>