SELECT DISTINCT a.apartment_id
FROM db_apartments_images_links l
LEFT JOIN db_apartments a on a.apartment_id = l.apartment_id
INNER JOIN db_images im on (im.image_id=l.image_id and im.image_hash IN (
SELECT i.image_hash
FROM db_images i
GROUP BY i.image_hash
HAVING count(i.image_id) > 1
)
)
ORDER BY a.apartment_id
function isDomainAvailible($domain)
{
//проверка на валидность урла
if(!filter_var($domain, FILTER_VALIDATE_URL))
{
return false;
}
$fields = array('title' => 'Тестовое сообщение', 'content' => "Тестовое описание");
//инициализация curl
$curlInit = curl_init();
curl_setopt($curlInit, CURLOPT_URL, $domain);
curl_setopt($curlInit, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlInit, CURLOPT_POST, true);
curl_setopt($curlInit, CURLOPT_POSTFIELDS, $fields);
//получение ответа
$response = curl_exec($curlInit);
curl_close($curlInit);
var_dump($response);
if ($response) return true;
return false;
}
$curlInit = curl_init($domain);
$curlInit = curl_init();
curl_setopt($curlInit, CURLOPT_URL, $domain);
Добавьте в таблицу tasks еще один статус (один у вас есть, но непонятно зачем он нужен). Пусть это будет поле status1, имеющее значение 0 - если задание не скрыто и не выполненно, 1 - если скрыто, 2 - если выполненно. Теперь можно брать не скрытые и не выполненные задания просто по статусу, отбросив сразу два подзапроса.