Станислав Шендаков, в моем сообщении не было ни единого слова оскорбления в твой адрес, в отличие от твоего, так что, хамло тут ты. И чсв поубавь, а то ты сам похоже не далеко от той самой "вонючей школоты" ушел.
1. Поля в описании и в запросе различаются, не понятно где ошибка.
2. Лучше использовать 4 запроса соединенных через union.
3. Добавить составной индекс на cert_data(prop, value), по ним идет join
4. добавить индекс на date_create, или возможно составной на (status, date_create), explain покажет
5. структура таблиц не верная, раз приходится такие костыли лепить и джоинить по разным полям.
Если ничего не помогает, или помогает, но профита не достаточно, использовать пагинацию, но и она крякнется после 300к записей вроде.
1. explode(' ',$asdasd['i'][$i], 3); иначе дату и время разобьет
2. высчитываешь разницу времени между текущим и следующим
3. если меньше 30 минут увеличиваешь каунтер
4. чекаешь каунтер, если больше 2 то return false;
Oslar, Если не хочешь разбираться попробуй через ini_set
Чтобы понимать, нужно читать/вникать/пробовать, а не тупо копипастить и впадать в транс при каждой ошибке.
в php.ini allow_url_fopen=1, но врядли на хостинге обычном будет доступ
можно попробовать через ini_set выставить
но, повторюсь, лучше переписать на curl