I haven't looked at all the code in full detail, but you should combine your queries. Its less stressful on the SQL server and will make go a lot faster:
//grab customers first name
$sqlQuery = "SELECT first FROM Customer WHERE companyID = \"".$companyID[0]."\"";
$first1 = mysql_query($sqlQuery, $dbh);
$first = mysql_fetch_array($first1);
//grab customers last name
$sqlQuery1 = "SELECT last FROM Customer WHERE companyID = \"".$companyID[0]."\"";
$last1 = mysql_query($sqlQuery1, $dbh);
$last = mysql_fetch_array($last1);
Instead of the two queries you have here, you can just do:
$query = "SELECT first, last FROM Customer WHERE companyID = " . $companyID[0];
Notice, no need for quotes around the $companyID since this is a numeric value. Quotes are just for string values.
Now when you run this query, you will have $aArray = mysql_fetch_array($result) and $aArray[0] will contain the first name and $aArray[1] will contain the last name.
The 2nd issue I see is you're calling mysql_query(...) and then you call mysql_fetch_array() and you do that only once. By doing it once, you only grab one record. If you wish to grab all the records, you have to loop that command. I usually like to do something like:
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
echo 'First: ' . $row[0] . ' - Last: ' . $row[1];
} // end while(...
What happens here is the while() loop will keep looping for every record your query finds. When it finds a record, it will execute the code in the while() block. Usually, this code is your display code.