[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как сделать проверку
Mephistofel
имеется код:

$result = mysql_query("SELECT * FROM table WHERE id=1",$connect);
$myrow = mysql_fetch_array($result3);

$y_b = $myrow['y'];
$m_b = $myrow['m'];
$d_b = $myrow['d'];
$h_b = $myrow['h'];
$min_b = $myrow['min'];
$sec_b = $myrow['sec'];

$y_now = date("Y");
$m_now = date("m");
$d_now = date("d");
$h_now = date("H");
$min_now = date("i");
$sec_now = date("s");

if (($y_now >= $y_b && $m_now >= $m_b && $d_now >= $d_b && $h_now >= $h_b && $min_now >= $min_b && $sec_now >= $sec_b)) {
?>
<div id="block">
текст 1
</div>
<?php
}
else { ?>
<div id="block">
текст 2
</div>
<?php
}
// Закрываем соединение
mysql_close($connect);
?>


Как сделать проверку даты и времени, чтобы если нынешняя дата и время стала больше той которая записана в базу то показывать текст 1.
То, что я пытался сделать

if (($y_now >= $y_b && $m_now >= $m_b && $d_now >= $d_b && $h_now >= $h_b && $min_now >= $min_b && $sec_now >= $sec_b)) {


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



Спустя 6 минут, 14 секунд (25.12.2011 - 22:58) vital написал(а):
php timestamp гугл

Спустя 25 минут, 16 секунд (25.12.2011 - 23:23) inpost написал(а):
Mephistofel
А почему в базе не хранить нормальную запись времени? Есть тип: DateTime для этого...

Спустя 19 минут, 13 секунд (25.12.2011 - 23:42) Mephistofel написал(а):
vital спасибо

Спустя 26 минут, 23 секунды (26.12.2011 - 00:08) killer8080 написал(а):
Mephistofel
сделай нормально поле даты и времени, как выше тебе советовал inpost,
Тогда можно логику сделать на стороне БД
SELECT IF(`date` > NOW(), `text1`, `text2`) AS `text` FROM `table` WHERE `id`=1

Спустя 21 час, 50 минут, 57 секунд (26.12.2011 - 21:59) Mephistofel написал(а):
спасибо всем кто ответил

Спустя 9 минут, 42 секунды (26.12.2011 - 22:09) Mephistofel написал(а):
Есть код таймера:

<?php if(isset($_GET[rud])) { 

// забирает текущее время в массив
$timestamp = time();
$date_time_array = getdate($timestamp);

$hours = $date_time_array['hours'];
$minutes = $date_time_array['minutes'];
$seconds = $date_time_array['seconds'];
$month = $date_time_array['mon'];
$day = $date_time_array['mday'];
$year = $date_time_array['year'];

// используйте mktime для обновления UNIX времени
// добавление 4 часa к $hours

$timestamp = mktime($hours + 4,$minutes,$seconds,$month,$day,$year);
$time_n = strftime('%Y-%m-%d %H:%M:%S',$timestamp);

// Добавляем запись в нашу таблицу
$sql1 = "UPDATE таблица SET time = '$time_n' WHERE id = '1' ";
$result1 = mysql_query($sql1);
$result = mysql_query("SELECT time FROM таблица WHERE id=1",$connect);
$myrow = mysql_fetch_array($result);
}
else {
$result = mysql_query("SELECT time FROM таблица WHERE id=1",$connect);
$myrow = mysql_fetch_array($result);
}

$time_b = $myrow['time'];
$time_now = date("Y-m-d H:i:s");

$arr1 = explode(" ", $time_now);
$arr2 = explode(" ", $time_b);
$arrdate1 = explode("-", $arr1[0]);
$arrdate2 = explode("-", $arr2[0]);
$arrtime1 = explode(":", $arr1[1]);
$arrtime2 = explode(":", $arr2[1]);
$timestamp2 = (mktime($arrtime2[0], $arrtime2[1], 0, $arrdate2[1], $arrdate2[0], $arrdate2[2]));
$timestamp1 = (mktime($arrtime1[0], $arrtime1[1], 0, $arrdate1[1], $arrdate1[0], $arrdate1[2]));

if ($timestamp1 > $timestamp2) {

?>

<script language="JavaScript" SRC="countdown.php?countto=<?php echo $myrow['time']; ?>&do=t&data=<div id='green'>свободно</div>"></SCRIPT>

<
input value="старт" onclick="location.href='http://сайт/timer/index.php?rud=1'" type="button" />

<?php
}
else { ?>

<script language="JavaScript" SRC="countdown.php?countto=<?php echo $myrow['time']; ?>&do=t&data=<div id='green'>свободно</div>"></SCRIPT>

<?php } ?>

вот код файла countdown.php:

<?php
// we will be sending Javascript codes, remember...
header('Content-Type: text/javascript');

// select the timezone for your countdown
// putenv('TZ=Europe/Moscow');

// Counting down to New Year's on 2020

$countdown_to = trim($_GET['countto']); // 24-Hour Format: YYYY-MM-DD HH:MM:SS"

// Getting the current time

$count_from = date("Y-m-d H:i:s"); // current time -- NO NEED TO CHANGE

// Date difference function. Will be using below

function datediff($interval, $datefrom, $dateto, $using_timestamps = false) {
/*
$interval can be:
yyyy - Number of full years
q - Number of full quarters
m - Number of full months
y - Difference between day numbers
(eg 1st Jan 2004 is "1", the first day. 2nd Feb 2003 is "33". The datediff is "-32".)
d - Number of full days
w - Number of full weekdays
ww - Number of full weeks
h - Number of full hours
n - Number of full minutes
s - Number of full seconds (default)
*/


if (!$using_timestamps) {
$datefrom = strtotime($datefrom, 0);
$dateto = strtotime($dateto, 0);
}
$difference = $dateto - $datefrom; // Difference in seconds

switch($interval) {

case 'yyyy': // Number of full years

$years_difference = floor($difference / 31536000);
if (mktime(date("H", $datefrom), date("i", $datefrom), date("s", $datefrom), date("n", $datefrom), date("j", $datefrom), date("Y", $datefrom)+$years_difference) > $dateto) {
$years_difference--;
}
if (mktime(date("H", $dateto), date("i", $dateto), date("s", $dateto), date("n", $dateto), date("j", $dateto), date("Y", $dateto)-($years_difference+1)) > $datefrom) {
$years_difference++;
}
$datediff = $years_difference;
break;

case "q": // Number of full quarters

$quarters_difference = floor($difference / 8035200);
while (mktime(date("H", $datefrom), date("i", $datefrom), date("s", $datefrom), date("n", $datefrom)+($quarters_difference*3), date("j", $dateto), date("Y", $datefrom)) < $dateto) {
$months_difference++;
}
$quarters_difference--;
$datediff = $quarters_difference;
break;

case "m": // Number of full months

$months_difference = floor($difference / 2678400);
while (mktime(date("H", $datefrom), date("i", $datefrom), date("s", $datefrom), date("n", $datefrom)+($months_difference), date("j", $dateto), date("Y", $datefrom)) < $dateto) {
$months_difference++;
}
$months_difference--;
$datediff = $months_difference;
break;

case 'y': // Difference between day numbers

$datediff = date("z", $dateto) - date("z", $datefrom);
break;

case "d": // Number of full days

$datediff = floor($difference / 86400);
break;

case "w": // Number of full weekdays

$days_difference = floor($difference / 86400);
$weeks_difference = floor($days_difference / 7); // Complete weeks
$first_day = date("w", $datefrom);
$days_remainder = floor($days_difference % 7);
$odd_days = $first_day + $days_remainder; // Do we have a Saturday or Sunday in the remainder?
if ($odd_days > 7) { // Sunday
$days_remainder--;
}
if ($odd_days > 6) { // Saturday
$days_remainder--;
}
$datediff = ($weeks_difference * 5) + $days_remainder;
break;

case "ww": // Number of full weeks

$datediff = floor($difference / 604800);
break;

case "h": // Number of full hours

$datediff = floor($difference / 3600);
break;

case "n": // Number of full minutes

$datediff = floor($difference / 60);
break;

default: // Number of full seconds (default)

$datediff = $difference;
break;
}

return $datediff;
}

// getting Date difference in SECONDS
$diff = datediff("s", $count_from, $countdown_to);
?>

// Here’s where the Javascript starts
countdown = <?=$diff?>;

// Converting date difference from seconds to actual time
function convert_to_time(secs)
{
secs = parseInt(secs);
hh = secs / 3600;
hh = parseInt(hh);
mmt = secs - (hh * 3600);
mm = mmt / 60;
mm = parseInt(mm);
ss = mmt - (mm * 60);

if (hh > 23)
{
dd = hh / 24;
dd = parseInt(dd);
hh = hh - (dd * 24);
} else { dd = 0; }

if (ss < 10) { ss = "0"+ss; }
if (mm < 10) { mm = "0"+mm; }
if (hh < 10) { hh = "0"+hh; }
if (dd == 0) { return (hh+":"+mm+":"+ss); }
else {
if (dd > 1) { return (dd+" дней "+hh+":"+mm+":"+ss); }
else { return (dd+" день "+hh+":"+mm+":"+ss); }
}
}


// Our function that will do the actual countdown
function do_cd()
{
if (countdown < 0)
{
<?php
if(strtolower(trim($_GET['do'])) == 'r' )
{
?>
// redirect web page
document.location.href = "<?=$_GET['data']?>";
<?php } ?>

<?php

if(strtolower(trim($_GET['do'])) == 't' )
{
?>
// change text
document.getElementById('cd').innerHTML = "<?=$_GET['data']?>";
<?php } ?>

}
else
{
document.getElementById('cd').innerHTML = convert_to_time(countdown);
setTimeout('do_cd()', 1000);
}
countdown = countdown - 1;
}

document.write("<div id='cd'></div>\n");

do_cd();

<? exit(); ?>

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

Спустя 15 минут, 52 секунды (26.12.2011 - 22:25) inpost написал(а):
Mephistofel
Ну мы же сказали, измени тип хранения времени... а ты, видимо, какой-то левый код где-то спёр, и не знаешь, что с ним делать.

Спустя 38 минут, 29 секунд (26.12.2011 - 23:03) Mephistofel написал(а):
время хранится в виде: 2011-12-26 12:35:18
и причем тут тип хранения времени? код работает, но только когда таймер 1 на странице, когда копирую этот же код с изминением имен всех переменных ничего не получается, не работает ни первый ни второй таймер...

Спустя 3 минуты, 38 секунд (26.12.2011 - 23:07) Mephistofel написал(а):
то, что я писал в первом посте - заменил на:
$time_b = $myrow['time'];
$time_now = date("Y-m-d H:i:s");

$arr1 = explode(" ", $time_now);
$arr2 = explode(" ", $time_b);
$arrdate1 = explode("-", $arr1[0]);
$arrdate2 = explode("-", $arr2[0]);
$arrtime1 = explode(":", $arr1[1]);
$arrtime2 = explode(":", $arr2[1]);
$timestamp2 = (mktime($arrtime2[0], $arrtime2[1], 0, $arrdate2[1], $arrdate2[0], $arrdate2[2]));
$timestamp1 = (mktime($arrtime1[0], $arrtime1[1], 0, $arrdate1[1], $arrdate1[0], $arrdate1[2]));

if ($timestamp1 > $timestamp2) {

и все решилось

Спустя 52 минуты, 23 секунды (26.12.2011 - 23:59) killer8080 написал(а):
Цитата (Mephistofel @ 26.12.2011 - 22:07)
то, что я писал в первом посте - заменил на:
$time_b = $myrow['time'];
$time_now = date("Y-m-d H:i:s");

$arr1 = explode(" ", $time_now);
$arr2 = explode(" ", $time_b);
$arrdate1 = explode("-", $arr1[0]);
$arrdate2 = explode("-", $arr2[0]);
$arrtime1 = explode(":", $arr1[1]);
$arrtime2 = explode(":", $arr2[1]);
$timestamp2 = (mktime($arrtime2[0], $arrtime2[1], 0, $arrdate2[1],$arrdate2[0],$arrdate2[2]));
$timestamp1 = (mktime($arrtime1[0], $arrtime1[1], 0, $arrdate1[1],$arrdate1[0],$arrdate1[2]));

if ($timestamp1 > $timestamp2) {

и все решилось

весь этот говнокод можно заменить одной строчкой
if(time() > strtotime($myrow['time'])){
...


Спустя 12 минут, 14 секунд (27.12.2011 - 00:12) Mephistofel написал(а):
killer8080 стасибо за подсказку и критику, но вопрос состоит в другом...

Спустя 4 минуты, 19 секунд (27.12.2011 - 00:16) Mephistofel написал(а):
killer8080 данный фрагмент заменил на предложенный вами, спасибо.
как насчет нерешенного вопроса?

Спустя 1 минута, 11 секунд (27.12.2011 - 00:17) killer8080 написал(а):
Mephistofel
что конкретно ты хочешь получить? Таймер на js?

Спустя 19 минут, 7 секунд (27.12.2011 - 00:36) Mephistofel написал(а):
Мне нужен таймер который работает независемо от действий юзера и только на установленный в коде интервал (нажал на кнопку, он отсчитывает 4ч), т.е. раз запустил и он считает даже если обновить страницу или зайти на неё позже... я пришел к выводу, что это возможно реализовать только с использованием базы данных.
Все сделал и все работает, но мне надо 10 таймеров на 1 странице и чтоб они работали независимо друг от друга, в данном виде он работает только 1.
Пробовал дублировать код с изменением имен всех переменных - не получается.

Спустя 10 минут, 44 секунды (27.12.2011 - 00:47) killer8080 написал(а):
Mephistofel
держи
<p id="t"></p> 
<p
id="a"></p>
<p
id="b"></p>

<script type="text/javascript">
function countdownTimer(interval, tagId){
--interval;
var hours = parseInt(interval / 3600),
minutes = parseInt(interval / 60) % 60,
seconds = interval % 60;

hours = hours < 10 ? '0'+hours : hours;
minutes = minutes < 10 ? '0'+minutes : minutes;
seconds = seconds < 10 ? '0'+seconds : seconds;
document.getElementById(tagId).innerHTML = hours+':'+minutes+':'+seconds;
if(interval > 0)
setTimeout("countdownTimer("+interval+", '"+tagId+"')", 1000);
}

countdownTimer(3600, "t");
countdownTimer(205, "a");
countdownTimer(15, "b");
</
script>


Спустя 7 минут, 21 секунда (27.12.2011 - 00:54) YVSIK написал(а):
Цитата
Как сделать проверку даты и времени, чтобы если нынешняя дата и время стала больше той которая записана в базу то показывать текст 1.
То, что я пытался сделать

user posted image
)) ПРОВЕРЯЕМ ДВА ЧИСЛА ))??!!
итак одно записано в базе другое то которое есть сейчас
так в чем проблема ?
в базе скажем 2
а сейчас 3 , какое больше?? вот и выедем его вместо текста
не понятно что нужно то)?!!
а надо всего-то их сравнить и далее провести арифметические действия и по результату выводить )) () возможнои так

а насчет вашего кода тут полный непонятный коломбур нет ни одного разеснения для чего так много то написано ? ещё точнее есть коменты (если ты понял )так переведи их для начала чтоб было понятно об чем собственно идет речь ..

if(time() > strtotime($myrow['time'])){
...

вот те сравнение одного с другим

Спустя 12 часов, 50 минут, 31 секунда (27.12.2011 - 13:45) Mephistofel написал(а):
YVSIK с этим уже разобрались =)

Спустя 35 минут, 32 секунды (27.12.2011 - 14:20) Mephistofel написал(а):
killer8080 спасибо.
Попробую применить, добавить, в своем случает...

Спустя 17 минут, 7 секунд (27.12.2011 - 14:38) killer8080 написал(а):
Mephistofel
ты объясни что откуда берется, и что нужно считать, может че подскажу smile.gif

Спустя 48 минут, 10 секунд (27.12.2011 - 15:26) Mephistofel написал(а):
killer8080 вот пример работы того кода, что есть у меня:
user posted image
по клику, если существует GET переменная rud и она =1, к нынешней дате плюсуется 4 часа и записывается в базу данных:

<?php if(isset($_GET[rud]) && $_GET[rud] = 1) { 
// забирает текущее время в массив
$timestamp = time();
$date_time_array = getdate($timestamp);

$hours = $date_time_array['hours'];
$minutes = $date_time_array['minutes'];
$seconds = $date_time_array['seconds'];
$month = $date_time_array['mon'];
$day = $date_time_array['mday'];
$year = $date_time_array['year'];

// используйте mktime для обновления UNIX времени
// добавление 4 часa к $hours

$timestamp = mktime($hours + 4,$minutes,$seconds,$month,$day,$year);
$time_n = strftime('%Y-%m-%d %H:%M:%S',$timestamp);

// Добавляем запись в таблицу
$sql1 = "UPDATE rudnik SET time = '$time_n' WHERE id = '1' ";
$result1 = mysql_query($sql1);

в данном случае я обновляю строку таблицы c id 1 в бд для записи времени, меня это устраивает.
Затем сравневается нынешнее время с тем, что записано в бд и если время в бд больше то скрипт делает отсчет, тут понятно.
Это делает работу таймера независимым от других факторов.
К тому же делается проверка, если нынешнее время меньше того, что в бд то кнопка старт спрятана, как на рисунке вверху, вот код:

$result = mysql_query("SELECT time FROM таблица WHERE id=1",$connect);
$myrow = mysql_fetch_array($result);
}
else {
// Запрашиваем
$result = mysql_query("SELECT time FROM таблица WHERE id=1",$connect);
$myrow = mysql_fetch_array($result);
}
if(time() > strtotime($myrow['time'])) {
?>

<table id="tab">
<
tr><td>
<
script language="JavaScript" SRC="countdown.php?countto=<?php echo $myrow['time']; ?>&do=t&data=<div id='green'>свободно</div>"></SCRIPT></td></tr>
<
tr><td align="center"><input value="занять" onclick="location.href='http://url/timer/index.php?rud=1'" type="button" /></td></tr>
</
table>

<?php }
else { ?>

<table id="tab">
<
tr><td>
<
script language="JavaScript" SRC="countdown.php?countto=<?php echo $myrow['time']; ?>&do=t&data=<div id='green'>свободен</div>"></SCRIPT></td></tr>
</
table>

<?php } ?>


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

файл countdown.php прикрепил файлом.

Спустя 32 минуты, 38 секунд (27.12.2011 - 15:58) killer8080 написал(а):
Mephistofel
первое, опять много ненужного кода. Весь первый блок заменяется на
$time_n = date('Y-m-d H:i:s', (time() + 3600 * 4));

но это то же говнокод, php в таких простых операциях вообще не должен участвовать. Нужно делать на стороне БД
$sql1 = "UPDATE `rudnik` SET `time` = NOW() + INTERVAL 4 HOUR WHERE `id` = 1 ";

естественно поле должно быть в правильном формате TIMESTAMP или DATETIME.

Второе, зачем тебе countdown.php? Он тут вообще не нужен. Прямо на самой странице все и делай, зачем лишний запрос к серверу? Например так.

if(time() > strtotime($myrow['time'])) {
?>

<table id="tab">
<
tr><td>

<
div id='green'>свободно</div></td></tr>
<
tr><td align="center">

<
input value="занять" onclick="location.href='http://url/timer/index.php?rud=1'" type="button" />
</
td></tr>
</
table>

<?php }
else { ?>

<table id="tab">
<
tr><td>
<
span id="timer"></span>
<
script type="text/javascript">
<!--

countdownTimer(<?=(time() - strtotime($myrow['time']))?>, 'timer');
//-->
</script>

</
td></tr>
</
table>

<?php } ?>

Спустя 39 минут, 19 секунд (27.12.2011 - 16:38) Mephistofel написал(а):
заменил первый блок на
$sql1 = "UPDATE `таблица` SET `time` = NOW() + INTERVAL 4 HOUR WHERE `id` = 1 ";

работает, спасибо.
Насчет второй части, не отображается отсчет времени...

Спустя 6 минут, 33 секунды (27.12.2011 - 16:44) killer8080 написал(а):
Цитата (Mephistofel @ 27.12.2011 - 15:38)
Насчет второй части, не отображается отсчет времени...

а ты функцию countdownTimer() не забыл прописать перед этим?

Спустя 1 час, 3 минуты, 28 секунд (27.12.2011 - 17:48) Mephistofel написал(а):
эм, и что там прописать? user posted image user posted image smile.gif

Спустя 1 час, 8 минут, 38 секунд (27.12.2011 - 18:56) killer8080 написал(а):
я же её давал выше user posted image
if(time() > strtotime($myrow['time'])) {
?>

<table id="tab">
<
tr><td>

<
div id='green'>свободно</div></td></tr>
<
tr><td align="center">

<
input value="занять" onclick="location.href='http://url/timer/index.php?rud=1'" type="button" />
</
td></tr>
</
table>

<?php }
else { ?>

<table id="tab">
<
tr><td>
<
span id="timer"></span>
<
script type="text/javascript">
<!--

function countdownTimer(interval, tagId){
--interval;
var hours = parseInt(interval / 3600),
minutes = parseInt(interval / 60) % 60,
seconds = interval % 60;

hours = hours < 10 ? '0'+hours : hours;
minutes = minutes < 10 ? '0'+minutes : minutes;
seconds = seconds < 10 ? '0'+seconds : seconds;
document.getElementById(tagId).innerHTML = hours+':'+minutes+':'+seconds;
if(interval > 0)
setTimeout("countdownTimer("+interval+", '"+tagId+"')", 1000);
}

countdownTimer(<?=(time() - strtotime($myrow['time']))?>, 'timer');
//-->
</script>

</
td></tr>
</
table>

<?php } ?>

Спустя 1 час, 11 минут, 47 секунд (27.12.2011 - 20:08) Mephistofel написал(а):
функции в предыдущем посту небыло, чесслово smile.gif
но все равно не работает, показывает такой результат: 00:0-11:0-28 и отсчет не идет визуально... т.е. сам таймер работает, при обновлении показывает новое время, но визуально отсчет не идет...

Спустя 14 минут, 17 секунд (27.12.2011 - 20:22) Mephistofel написал(а):
попробовал такой вариант:
<?php }
else { $tim = strtotime($myrow['time']) - time(); ?>


<script type="text/javascript">

function timer(){
var obj=document.getElementById('timer');
obj.innerHTML--;

if(obj.innerHTML==0){setTimeout("window.location='http://url/timer/';", 10);setTimeout(function(){},1000);}
else{setTimeout(timer,1000);}
}

setTimeout(timer,1000);

</
script>
<
table id="tab">
<
tr><td><div id='cd'>
<
span id="timer"><? echo "$tim"; ?></span></div>

</
td></tr>
</
table>

<?php } ?>

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

Спустя 17 минут, 25 секунд (27.12.2011 - 20:40) Mephistofel написал(а):
проблема решилась когда поменял
countdownTimer(<?=(time() - strtotime($myrow['time']))?>, 'timer');

на
countdownTimer(<?=(strtotime($myrow['time']) - time())?>, 'timer');

:)
killer8080 спасибо за редакцию кода, ща попробую сделать несколько таймеров, как хотел

Спустя 56 минут, 33 секунды (27.12.2011 - 21:36) killer8080 написал(а):
Цитата (Mephistofel @ 27.12.2011 - 19:40)
проблема решилась когда поменял
countdownTimer(<?=(time() - strtotime($myrow['time']))?>, 'timer');

на
countdownTimer(<?=(strtotime($myrow['time']) - time())?>, 'timer');

логично smile.gif
попутал немного rolleyes.gif

Спустя 1 час, 18 минут (27.12.2011 - 22:54) Mephistofel написал(а):
killer8080 все задачи которые я ставил достигнуты smile.gif
спасибо огромное за помощь! smile.gif карма +

Спустя 7 часов, 39 минут, 36 секунд (28.12.2011 - 06:34) kksw написал(а):
Цитата (Mephistofel @ 27.12.2011 - 02:36)
Мне нужен таймер который работает независемо от действий юзера и только на установленный в коде интервал (нажал на кнопку, он отсчитывает 4ч), т.е. раз запустил и он считает даже если обновить страницу или зайти на неё позже... я пришел к выводу, что это возможно реализовать только с использованием базы данных.
Все сделал и все работает, но мне надо 10 таймеров на 1 странице и чтоб они работали независимо друг от друга, в данном виде он работает только 1.
Пробовал дублировать код с изменением имен всех переменных - не получается.

создай 10 фалов
countdown1.php
countdown2.php
и т.д.
в каждом из них переименуй соответственно все countdown на countdown1, 2, 3....
и кстати там в коде написано: дня и день, а в русском языке есть еще и дней, на пример осталось 10 дней, либо дописывать код либо ставить dey и deys как и было изначально в этом таймере.
У меня могут работать одновременно 8 таких таймеров. А у тебя не заработало потому что не переименовал все countdown смотри внимательно.

Спустя 3 часа, 21 минута, 50 секунд (28.12.2011 - 09:56) Mephistofel написал(а):
kksw спасибо, но все уже решили и намного проще smile.gif
killer8080 помог

Спустя 3 часа, 52 минуты, 47 секунд (28.12.2011 - 13:49) Mephistofel написал(а):
как сюда можно пихнуть редирект если время достигло нуля?
<script type="text/javascript">
<!--

function countdownTimer(interval, tagId){
--interval;
var hours = parseInt(interval / 3600),
minutes = parseInt(interval / 60) % 60,
seconds = interval % 60;

hours = hours < 10 ? '0'+hours : hours;
minutes = minutes < 10 ? '0'+minutes : minutes;
seconds = seconds < 10 ? '0'+seconds : seconds;
document.getElementById(tagId).innerHTML = hours+':'+minutes+':'+seconds;
if(interval > 0)
setTimeout("countdownTimer("+interval+", '"+tagId+"')", 1000);
}

countdownTimer(<?=(strtotime($myrow['time']) - time())?>, 'timer');
//-->
</script>

Спустя 8 минут, 14 секунд (28.12.2011 - 13:57) killer8080 написал(а):
<script type="text/javascript">
<!--

function countdownTimer(interval, tagId){
--interval;
var hours = parseInt(interval / 3600),
minutes = parseInt(interval / 60) % 60,
seconds = interval % 60;

hours = hours < 10 ? '0'+hours : hours;
minutes = minutes < 10 ? '0'+minutes : minutes;
seconds = seconds < 10 ? '0'+seconds : seconds;
document.getElementById(tagId).innerHTML = hours+':'+minutes+':'+seconds;
if(interval > 0)
setTimeout("countdownTimer("+interval+", '"+tagId+"')", 1000);
else
location.href = 'http://site.ru'; // здесь редирект на site.ru
}

countdownTimer(<?=(strtotime($myrow['time']) - time())?>, 'timer');
//-->
</script>

Спустя 2 часа, 47 минут, 26 секунд (28.12.2011 - 16:44) Mephistofel написал(а):
ок, спасибо smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.