|
|
|
| Имеется БД, которая хранит в себе id счетчика и время окончания счетчика
CREATE TABLE IF NOT EXISTS `table` (
`id` int(11) NOT NULL,
`times` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `table` (`id`, `times`) VALUES
(1, '1264986000'),
(2, '1267430400');
|
нужно вывести все счетчики, делаю так:
<?php
$q = mysql_query("SELECT * FROM `table`");
while ($arr = mysql_fetch_assoc($q))
{
$mes = date('M',$arr['times']);
$day = date('d',$arr['times']);
$year = date('Y',$arr['times']);
$h = date('H',$arr['times']);
$m = date('i',$arr['times']);
$s = date('s',$arr['times']);
echo $arr['id'];
?>
<!-- ВЫВОДИМ-->
Дней: <B ID=RemainsFullDays>0</B>
<B ID=RemainsFullHours>00</B>
<B ID=to>:</B>
<B ID=RemainsMinutes>00</B>
<B ID=lastSec>00</B>
<span ID=clock></span><br/>
<!--ЯВА СКРИПТ-->
<SCRIPT language=JavaScript type=text/javascript>
function fulltime (){
var time=new Date();
var newYear=new Date("<? echo $mes;?>,<? echo $day;?>,<? echo $year;?>,<? echo $h;?>:<? echo $m;?>:<? echo $s;?>");
var totalRemains=(newYear.getTime()-time.getTime());
if (totalRemains>1){
var RemainsSec = (parseInt(totalRemains/1000));//5
var RemainsFullDays=(parseInt(RemainsSec/(24*60*60)));//33
var secInLastDay=RemainsSec-RemainsFullDays*24*3600; //5
var RemainsFullHours=(parseInt(secInLastDay/3600));//33
if (RemainsFullHours<10){RemainsFullHours="0"+RemainsFullHours};
var secInLastHour=secInLastDay-RemainsFullHours*3600;//5
var RemainsMinutes=(parseInt(secInLastHour/60));//51
if (RemainsMinutes<10){RemainsMinutes="0"+RemainsMinutes};
var lastSec=secInLastHour-RemainsMinutes*60;//5
if (lastSec<10){lastSec="0"+lastSec};
document.getElementById("RemainsFullDays").innerHTML=RemainsFullDays+"дн. ";
document.getElementById("RemainsFullHours").innerHTML=RemainsFullHours+"ч. ";
document.getElementById("RemainsMinutes").innerHTML=RemainsMinutes+"мин. ";
document.getElementById("lastSec").innerHTML=lastSec+"сек. ";
setTimeout('fulltime()',10)
}
else{
document.getElementById("clock").innerHTML="Прием заявок закончен";
}
}
</SCRIPT>
<SCRIPT language=JavaScript>fulltime();</SCRIPT>
<? } ?>
|
Проблема в том что выводит только ID=1, а второй остается по нулям
Как идентифицировать функцию под каждый ID?
P.S: Я понимаю что вставка функции в цикл это дикость, но я не могу придумать как определить переменные | |
|
|
|
|
|
|
|
для: chexov
(24.12.2009 в 05:14)
| | На первый взгляд - все в цикле пишется в одну переменную, а не в массив.
Для чего здесь используется яваскрипт? Нельзя ли это сразу сформировать в скрипте на сервере? | |
|
|
|
|
|
|
|
для: GeorgeIV
(24.12.2009 в 09:18)
| | ява скрипт собственно говоря это сам механизм счетчика | |
|
|
|
|
|
|
|
для: chexov
(24.12.2009 в 09:32)
| | сформируйте два массива для ява-скрипта и передавайте массив как прараметр в функцию, соответственно вызывайте не функцию в цикле, а делайте два вызова функции с разными параметрами | |
|
|
|