bokovua
@bokovua
Project-manager

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

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

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
			)
		);
	}
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 3
@cema93
WordPress разработчик
php yне сможет определить сколько времени пользователь просматривает страницу. тут надо использовать ajax
Ответ написан
Expany
@Expany
skill_get($price,$question,$time,$exp);
Все ответы бесполезны (ИМХО).
Вполне вероятно, что пусть и не очень хорошо, но при визите юзера(предположим авторизованного) в базу записывается текущий TIMESTAMP, при попытке манипуляций вызывающих db_insert, будет вызвана аналогичная процедура получения TIMESTAMP с целью вычислить разность по времени, и если результирующее больше или равно требуемому, выполнить запись в базу, иначе можно сообщить пользователю что еще рановато.

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

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

Войти через центр авторизации
Похожие вопросы
24 марта 2019, в 12:39
10000 руб./за проект
24 марта 2019, в 12:28
500 руб./за проект
24 марта 2019, в 11:14
5000 руб./за проект