Как обновить счетчик просмотров страниц сеанса в таблицу MYSQL каждые 10 секунд
Я использую счетчик просмотров страниц в своем проекте. Я хочу сохранить количество посетителей в сеансе, поэтому каждые 10 секунд время может меняться каждые 1 час. Мне нужно обновить значение сеанса до таблицы MySQL. И хотя посетители открывают и закрывают браузер один раз, мне также нужно обновить это значение сеанса в моей таблице. Я выполняю эту задачу для оптимизации таблиц MySQL. Пожалуйста, помогите мне.
Что я уже пробовал:
<?php // add custom post content function wp_post_view_blog_visit_count($content) { $ip_addr = $_SERVER['REMOTE_ADDR']; $post_id = get_the_ID(); if(isset($_SESSION['wp_blog_views_two'.$post_id.$ip_addr])) { $_SESSION['wp_blog_views_two'.$post_id.$ip_addr] = ++$_SESSION['wp_blog_views_two'.$post_id.$ip_addr]; }else{ $_SESSION['wp_blog_views_two'.$post_id.$ip_addr] = 1; } $blog_view_count = $_SESSION['wp_blog_views_two'.$post_id.$ip_addr]; echo $blog_view_count.' SESSION VALUE'.'<br>'; $count_key = 'post_views_count_'.$post_id.$ip_addr; //WordPress has a function to get custom field values, get_post_meta().It accepts three parameters $count = (int) get_post_meta($post_id, $count_key, true); echo $count.' FROM TABLE'.'<br>'; if($count == '' || $count == 0){ //the function to delete custom fields values is delete_post_meta() delete_post_meta($post_id,$count_key); //delete the post_meta mysql table //Saving a custom field value in the database is as easy as getting it. The function to use is add_post_meta(). add_post_meta($post_id, $count_key, 1);//add the data in post_meta mysql table return $content .= $count.' Views'.'<br><br>'; }else{ /* * Check the cookie is exist or not. * If not the set cookie for some time interval and * increase the count */ ++$count; if(isset($_SESSION["user".$post_id.$ip_addr])){ if(time()-$_SESSION["login_time_stamp".$post_id.$ip_addr] > 10){ //means 10 seconds 3600 unset($_SESSION['user'.$post_id.$ip_addr]); unset($_SESSION["login_time_stamp".$post_id.$ip_addr]); unset($_SESSION['wp_blog_views_two'.$post_id.$ip_addr]); //To update the value of an existing custom field use the function update_post_meta() update_post_meta($post_id, $count_key, $count+$blog_view_count); } }else{ $_SESSION["user".$post_id.$ip_addr] = 'VIEWING'.$post_id.$ip_addr; $_SESSION["login_time_stamp".$post_id.$ip_addr] = time(); } } return $content .= ''.$count.' Views'.'<br><br>'; } add_filter('the_content', 'wp_post_view_blog_visit_count');
?>
пример кода:
<?php session_start(); if(isset($_SESSION['views'])) $_SESSION['views'] = $_SESSION['views']+1; else $_SESSION['views']=1; echo"views = ".$_SESSION['views']; ?>