Естественно их надо выбрать и передать в обработчик, и на основе выбранных точек сформирровать запрос к БД
например у вас $_POST['checkpoints'] который содержит массив array(1,2,4)
тогда условие сформировать можно так, массив POST сразу заполним для примера
и напишем таки функцию обработки элементов массива, а то с безопасностью у вас мягко говоря беда
function check($var){
return (int)$var;
}
$_POST['checkpoints'] = array(1,2,4);
$where = isset($_POST['checkpoints'])
? 'WHERE c.keyCheckpoint IN('.implode(',', array_filter($_POST['checkpoints'], "check")).')'
: false ;
$query = "SELECT s.keyStudents,
s.secontNameStudent,
s.firstNameStudent,
s.lastNameStudent,
(SUM(r.ratingStudentResult*c.ratioCheckpoint))/SUM(c.ratioCheckpoint) rating
FROM student s
LEFT JOIN studentresults r ON r.keyStudent = s.keyStudents
LEFT JOIN checkpoints c ON r.fkCheckpoints=c.keyCheckpoint
GROUP BY r.keyStudent";
$query = !empty($where)? $query.' '.$where : $query;
echo $query;
а теперь закоментируйте //$_POST['checkpoints'] = array(1,2,4); и посмотрите как изменится запрос
таким образом можно собирать достаточно сложные запросы, а не только условие WHERE
_____________
Стимулятор ~yoomoney - 41001303250491