<tr><td align="right">Teacher:</td>
    <td><input name="teacher" value="<?php 
echo $request_info['teacher'];
?>
"></td>
</tr>
<tr><td align="right">Subject:</td>
    <td><?php 
subjects_select(array($request_info['subject']), true);
?>
</td>
</tr>
<tr>
    <td valign="top" align="right">Tutor categories requested:</td>
    <td valign="top"><?php 
tutor_category_select(get_request_categories($request_info['id']), 'multiple');
?>
 </td>
</tr>
<tr><td align="right">Times per week:</td>
    <td><input name="times_per_week" value="<?php 
echo $request_info['times_per_week'];
?>
"></td>
</tr>
<tr>
    <td align='right'>Notes:</td>
    <td><textarea name="notes" rows=4 cols=80><?php 
echo $request_info['notes'];
?>
</textarea></td>
function find_match($request_id)
{
    $DB = new DB();
    // get request details
    $result = $DB->query("select * from tutor_request where id={$request_id}");
    $row = mysql_fetch_array($result);
    $student_id = $row["student_id"];
    $subject_id = $row["subject"];
    $times_per_week = $row["times_per_week"];
    $requested_categories = get_request_categories($request_id);
    // select all tutors which have subject
    $result = $DB->query("select tutor.* from tutor left join tutor2subject on tutor2subject.tutor_id =tutor.id where tutor2subject.subject_id={$subject_id}");
    // for each tutor returned
    $matches_prefered_cat = array();
    $matches_other = array();
    while ($row = mysql_fetch_array($result)) {
        $tutor_id = $row[id];
        // figure out if has time left
        if (time_left($tutor_id) < 1) {
            continue;
            // if not, skip
        }
        // get tutor category
        $tutor_category = tutor_category($row["id"]);
        $category_matches = in_array($tutor_category, $requested_categories);
        // get list of common available times between tutor and student
        $common_times = get_common_times($tutor_id, $student_id);
        $common_times_number = count($common_times);
        // put data into datastructure
        if ($category_matches) {
            array_push($matches_prefered_cat, array($tutor_id, $tutor_category, $common_times, $category_matches, $common_times_number));
        } else {
            array_push($matches_other, array($tutor_id, $tutor_category, $common_times, $category_matches, $common_times_number));
        }
    }
    // sort matches on common hours
    $matches_prefered_cat = msort($matches_prefered_cat, 5);
    $matches_other = msort($matches_other, 5);
    $matches = array_merge($matches_prefered_cat, $matches_other);
    // return array
    return $matches;
}
echo $student_info['grade'];
?>
</td>
</tr>
<tr>
    <td align='right'>Number of times per week student wants tutoring:</td>
    <td><?php 
echo $request_info['times_per_week'];
?>
</td>
</tr>
<tr>
    <td align='right' valign="top">Requested Tutor Categories:</td>
    <td>
        <?php 
$requested_categories = get_request_categories($request_info['id']);
foreach ($requested_categories as $category_id) {
    echo category_name($category_id) . "<br/>";
}
?>
    </td>
</tr>
</table>
</td>

<td valign="top">
<table>
<tr>
    <td align='right'>Address:</td>
    <td><?php 
echo $student_info['address'];