У меня есть некоторая информация о диапазоне, хранящаяся в базе данных как min_age и max_age, например:
id min_age max_age
1 10 14
2 15 16
3 17 20
Я хочу провести некоторую проверку с использованием PHP (или MySql), чтобы перед созданием другой записимы уверены, что диапазон не перекрывается с существующим диапазоном.Итак, id = 4, min_age = 21, max_age = 25 было бы хорошо, но id = 4, min_age = 20, max_age = 25 не удастся.Мой (psuedo) код, таким образом, далеко:
$age['min'] = $x;
$age['max'] = $y;
$current ranges = db_query('SELECT min_age, max_age FROM age_table')->fetchAll();
foreach ($age as $limit)
{
for ($i = 0; $i < count($current_ranges); $i++)
{
if ($limit >= $current_ranges[$i]->min_age && $limit <= $current_ranges[$i]->max_age) $conflict = $result[$i]->entity_id;
}
}
if ($conflict) fail();
Но это упрощение (не так ли?), Поскольку он просто проверяет, попадают ли значения min / max в определенные диапазоны.Я думаю, что это может работать, но использует некоторую нечеткую логику с моей стороны ... Кто-нибудь может помочь мне обострить это?Приветствия ...