setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $query = "select DISTINCT k.knd_name as 'Company Name', p.pct_name as 'Project' from kimai15_pct p inner join kimai15_knd k on p.pct_kndID=k.knd_ID where p.pct_visible = 1 order by p.pct_name"; //first pass just gets the column names echo ''; $result = $con->query($query); //return only the first row (we only need field names) $row = $result->fetch(PDO::FETCH_ASSOC); echo " \n"; foreach ($row as $field => $value) { echo " \n"; } // end foreach echo " \n"; //second query gets the data $data = $con->query($query); $data->setFetchMode(PDO::FETCH_ASSOC); foreach ($data as $row) { echo " \n"; foreach ($row as $name => $value) { echo " \n"; } // end field loop echo " \n"; } // end record loop echo "
$field
$value
\n"; } catch (PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } // end try ?>