$lastDepartment = '';
foreach($postsContact as $key => $contacts) {
if($contacts['department'] !== $lastDepartment) {
// вывести строку с городом
$lastDepartment = $contacts['department']; // переопределяем сменившийся город, когда он сменился между строчками
}
// вывести строку с контактом
}
if('touchstart' in document)
{
// тут работаем с тач событиями
}
`products`.`category_id` = '12'
12 записано в кавычках, значит поле category_id имеет как минимум типа varchar или text.
Если в качестве идентификатора используются числовые значения, а не какой-нибудь guid/контрольная сумма, или в идентификации объекта не предусмотрены какие-нибудь литералы, типа '12a', то нет причин делать это поле не целочисленным. Это лишает возможности делать автоинкременты к полям, если они первичные ключи, приводит к избыточности хранения данных, замедлению работы индексов.