Я создаю веб-сайт, и я не могу разобраться в одном. Мне нужен скрипт, который проверяет, прошло ли 10 секунд с момента загрузки, тогда будет запущен другой скрипт PHP. Но я не уверен, что это возможно. Я приложил свою попытку к этой проблеме. Есть идеи? Заранее спасибо!
if ( <script type="text/javascript"> function viewplus(){ } setTimeout(viewplus, 10000); </script> ) $query = "SELECT * FROM users WHERE id=" . $rws2['id_user']; $result2 = mysqli_query($db, $query); $rws2 = mysqli_fetch_array($result2); $views_total = $rws2['views_total'] + 1; $views_week = $rws2['views_week'] + 1; $views_today = $rws2['views_today'] + 1; $id = $rws2['id']; $query = "UPDATE users SET views_total='$views_total',views_week='$views_week',views_today='$views_today' WHERE id='$id'"; mysqli_query($db, $query);
Можно использовать jQuery следующим образом: поместите свой код в файл php и вызовите его через 10 секунд после загрузки страницы
<script type="text/javascript"> // Check if the page has loaded completely $(document).ready( function() { setTimeout( function() { $('#some_id').load('index.php'); }, 10000); }); </script>
Пример обновления таблицы и получения сообщения о состоянии:
if (isset($_POST['id'])&& isset($_POST['var'])){ $con = new mysqli("localhost", "my_user", "my_password", "world"); $id = $con->real_escape_string($_POST['id1']); //In our example id is INT $var = $con->real_escape_string($_POST['var']); $result = $con->query("UPDATE table SET value = '$var' WHERE id = $id); (!$result) ? echo "Update failed!" : "Update succeeded"; }
Это будет загружать выходные данные вашего php-файла (Update filed or some_id
) в элементе (в этом случае с идентификатором some_id
).
Другой способ, который я НЕ рекомендую, – использовать функцию PHP sleep()
PHP-документацию