Пауза перенаправления PHP

Вам нужно разобраться с 3 случаями: идентификатор находится в обоих наборах данных, идентификатор находится только в наборе данных A, или идентификатор только в наборе данных B. Вы не можете решить это с помощью select ... from dataset_A left join dataset_B ..., потому что вы ' Я получу первые два случая, но не третий.

Вам нужно определить представление, которое даст вам все идентификаторы в обоих наборах данных, а затем оставить соединение с каждым набором данных:

with all_IDs as (select indiv_ID from dataset_A union select indiv_ID from dataset_B)
select indiv_ID, january, march
from all_IDs
left join dataset_A using (indiv_ID)
left join dataset_B using (indiv_ID)
12
задан Paradius 10 April 2009 в 07:45
поделиться

5 ответов

Это должно работать:

<?php
header('Refresh: 5; URL=http://yoursite.com/page.php');
//other code
?>

и позволит вашему пользователю видеть любой вид вывода, который вы хотите (Вы будете перенаправлены через X секунд, щелкните по ссылке, если нет, и т. Д.)

35
ответ дан 2 December 2019 в 02:53
поделиться

Низкотехнологичное решение, не требующее Javascript или даже PHP:

<html>
<head>
    <title>Redirecting...</title>
    <meta http-equiv="refresh" 
content="10;URL=http://www.newsite.com">
</head>
<body>
    You are being automatically redirected to a new location.<br />
    If your browser does not redirect you in 10 seconds, or you do
    not wish to wait, <a href="http://www.newsite.com">click here</a>. 
</body>
</html>

Преимущество этого решения перед использованием "Местоположение : "header - это то, что вам не нужно приостанавливать выполнение скрипта, который будет казаться пользователю таким, как если бы сервер был занят или их соединение зависло.

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

Редактировать: Я думаю, что стоит также отметить, что если вы решите использовать метод header (), вы нужно убедиться, что продолжительность сна () не слишком велика. Я думаю, что большинство браузеров генерируют тайм-аут соединения после того, как не получили никаких данных от сервера в течение 1 минуты.

15
ответ дан 2 December 2019 в 02:53
поделиться

никогда не использовать сон таким образом. Даже при небольшой нагрузке на ваш сервер не хватит http-соединений. Хуже всего, если ваш межсетевой экран исчерпан.

Параметр задержки в заголовке перенаправления сделан по той же причине.

8
ответ дан 2 December 2019 в 02:53
поделиться

Другие 2 варианта Перенаправление Javascript с использованием setTimeout () или мета-тега обновления с тайм-аутом.

3
ответ дан 2 December 2019 в 02:53
поделиться

Обновление : это работает, но, возможно, не самое подходящее решение для этой ситуации. См. Комментарии.

Может ли это быть тем, что вы ищете?

<?php
sleep(5);
header("Location: http://www.example.com/");
exit();
?>
3
ответ дан 2 December 2019 в 02:53
поделиться
Другие вопросы по тегам:

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