Если у вас есть координаты пользователя и координаты мероприятия, запрос будет примерно таким (код на Yii1, но идея должна быть понятна)
$this->lat и $this->lng - широта и долгота текущего пользователя
$radius - радиус в километрах
lat, lng - поля с широтой и долготой объектов в базе (в моем случае городов)
$criteria = new CDbCriteria();
$criteria->select = "*, SQRT(
POW(110.6* (lat - " . $this->lat. "), 2) +
POW(110.6 * (" . $this->lng. " - lng) * COS(lat / 57.3), 2)) AS distance";
$criteria->having = "distance < " . $radius;
$towns = Town::model()->findAll($criteria);