prrrrrrr
@prrrrrrr
Верстаю сразу на PHP.

Где правильно вставить вызов mysql?

Подскажите, хочу сделать автоудаление, но не знаю куда вставить этот вызов

R::exec("DELETE FROM `posts` WHERE `active` = 1 AND `time` < now() - interval 10 second");


туда где добавление не работает
$data = $_POST;
	
	if ( isset($data['add']) )
	{
			$post = R::dispense('posts');
R::exec("DELETE FROM `posts` WHERE `active` = 1 AND `time` < now() - interval 10 second");
			$post->head = $data['head'];
			$post->desc = $data['desc'];
			R::store($post);
			echo '<p>Успешно!</p>';
	}


или туда где вывод тоже
R::exec("DELETE FROM `posts` WHERE `active` = 1 AND `time` < now() - interval 10 second");
	$posts = R::findAll('posts', 'author_id = ?', [$_SESSION['logged_user']->id]);
	foreach ($posts as $post) {
	echo 'Заголовок: ', $post->head;
	echo '<br>Описание: ', $post->desc;
	};

как решить этот вопрос?
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 2
dima9595
@dima9595
Junior PHP
Не совсем понятно когда вам это нужно делать. Тут либо при каком-то запросе (например, по нажатии кнопки, или просто при посещении страницы), либо вешать всё это на крон и запускать каждый n секунд/минут/часов и т.п.
Ответ написан
@MadridianFox
Web-программист, многостаночник
В php нет таймеров. И в mysql тоже. И триггер тут не поможет.
Как уже написал Дмитрий Кузнецов необходимо делать отдельный php файл с кодом, который будет выполнять запрос на удаление и настраивать крон, чтобы этот файл запускался раз в несколько секунд.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы