bokovua
@bokovua
Любитель

Как Записать в базу данных если выполнено условие?

Подскажите пожалуйста, как скорректировать функцию, а именно записать данные в базу, чтобы она срабатывала только при условии того, что человек провел на странице энное количество времени.

private function db_insert( $id, $type, $period, $count = 1 ) {
		global $wpdb;

		$count = (int) $count;

		if ( ! $count ) {
			$count = 1;
		}

		return $wpdb->query(
			$wpdb->prepare( "
				INSERT INTO " . $wpdb->prefix . "post_views (id, type, period, count)
				VALUES (%d, %d, %s, %d)
				ON DUPLICATE KEY UPDATE count = count + %d", $id, $type, $period, $count, $count
			)
		);
	}
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 3
@cema93
WordPress разработчик
php yне сможет определить сколько времени пользователь просматривает страницу. тут надо использовать ajax
Ответ написан
Комментировать
Expany
@Expany
$this->get('skill');
Все ответы бесполезны (ИМХО).
Вполне вероятно, что пусть и не очень хорошо, но при визите юзера(предположим авторизованного) в базу записывается текущий TIMESTAMP, при попытке манипуляций вызывающих db_insert, будет вызвана аналогичная процедура получения TIMESTAMP с целью вычислить разность по времени, и если результирующее больше или равно требуемому, выполнить запись в базу, иначе можно сообщить пользователю что еще рановато.

Что до ответа Сёмки, то тоже имеет место быть, вынести подобную логику стоило бы на плечи js.
Ответ написан
Комментировать
alekstar79
@alekstar79
Оффтоп - global - evil... А по сути, причем тут функция, которая что-то пишет в базу? Наверное должно больше волновать, как ты собираешься определять время, проведенное пользователем на странице!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 11:49
25000 руб./за проект
25 апр. 2024, в 11:37
40000 руб./за проект