Here, try this. I can't test it so there may be typo errors, but all in all, it should do what you want it to do....
<?
// Changed to pconnect() for persistency
$cx = odbc_pconnect( 'vehicle', '', '' );
// get the vehicle data
$query = "SELECT vehicle.vehicleID, vehicle.regNumberID, vehicle.date,
vehicleDescrip.vehicleDescrip, grade.grade, vco.vcoLname, vco.vcoPhone, vco.vcoEmail,
office.office, flight.flight, category.catID, category.category,
category.categoryDescription
FROM category
INNER JOIN
((flight INNER JOIN office ON flight.flightID = office.flightID)
INNER JOIN (grade INNER JOIN (vco INNER JOIN (vehicleDescrip INNER JOIN vehicle ON vehicleDescrip.vehicleDescripID =
vehicle.vehicleDescripID) ON vco.vncoID = vehicle.vncoID) ON
grade.gradeID = vco.vcoGradeID) ON office.officeID = vco.officeID) ON
category.catID = vehicle.catID
WHERE (((vehicle.vehicleID)=$vehicleID))";
$getVehicle=odbc_exec($cx, $query);
// get the category data
$query = "SELECT category.catID, category.category, category.categoryDescription FROM category";
// stick the results into an array
$tick = 0;
while(odbc_fetch_row($getVehicle,$tick++))
{
$curr_id = odbc_result($getVehicle,"vehicleID");
$getVehicleInfo[$curr_id]= array("regNumberID" => odbc_result($getVehicle,"regNumberID"),
"date" => odbc_result($getVehicle,"date"),
"vehicleDescripID" => odbc_result($getVehicle,"vehicleDescripID"),
"grade" => odbc_result($getVehicle,"grade"),
"vcoLname" => odbc_result($getVehicle,"vcoLname"),
"vcoPhone" => odbc_result($getVehicle,"vcoPhone"),
"vcoEmail" => odbc_result($getVehicle,"vcoEmail"),
"office" => odbc_result($getVehicle,"office"),
"flight" => odbc_result($getVehicle,"flight"),
"catID" => odbc_result($getVehicle,"catID"),
"category" => odbc_result($getVehicle,"category"),
"categoryDescription" => odbc_result($getVehicle,"categoryDescription")
);
$vehCat[$curr_id] = array("catID" => odbc_result($getVehicle,"catID"),
"category" => odbc_result($getVehicle,"category"),
"categoryDescription" => odbc_result($getVehicle,"categoryDescription")
} )
$tick = 0;
while(odbc_fetch_row($selectCat,$tick++))
{
$cat_id = odbc_result($selectCat,"catID");
$myCats[$cat_id] = array("category" => odbc_result($selectCat,"category"),
"description" => =odbc_result($selectCat,"categoryDescription");
}
?>
<!--- loop getvehicleinfo here --->
<select name="vehicleID">
<? while(list($k,$v) = @each($getVehicleinfo)) { ?>
<option value="<?= $k ?>"> <?= $v["regNumberID"] ?>,
<?= $v["vehicleDescripID"] ?>,
<?= $v["grade"] ?>
<?=$v["vcoLname"] ?>
<? } ?>
</select>
<FORM ACTION="vehicleAdd.php" name="vehicleAdd" METHOD="post">
<table ALIGN="center" CELLPADDING="3" CELLSPACING="5" WIDTH="75%">
<tr>
<td width="25%">Reg Number:</td>
<!--- the input field regNumber assumes you have only one record, if not I'm not sure where you'd get this into:
<td width="75%"><INPUT TYPE="text" NAME="regNumber" VALUE="<?= HTMLSpecialChars($v["regNumberID"] ?>"></td>
</tr>
<tr>
<td>Reg Category: </td>
<td>
<select name="catID">
<? while(list($k,$v) = @each($myCats)) { ?>
<? $sel = (in_array($k,$myCats) ? " SELECTED " : " ") ?>
<option <?= $sel ?> value="<?= $v["catID"] ?>"><?= $v["categoryDescription"] ?>
<? } ?>
</select>