내가하려는 것은 PHP를 사용하여 데이터베이스의 데이터를 출력하는 것입니다. 이 데이터와 함께 내 데이터베이스의 데이터를 사용하여 카운트 다운 타이머를 포함하고 싶습니다. 물론 타이머는 JavaScript를 사용하여 수행되지만 JavaScript 변수에 PHP 변수를 포함시킨 다음 각 결과에 타이머의 인스턴스를 포함하여 모든 결과를 루프하는 방법을 고민하고 있습니다.PHP 루프를 사용하는 여러 카운트 다운 타이머
여기에서 테스트 중입니다 : http://www.lineswritten.co.uk/Countdown/ - 빨간색 '타이머 여기'는 '대기 중 ...'의 상위 4 개 인스턴스를 원합니다. 이 네 개의 인스턴스는 루프에 포함되어 있지 않습니다.
나는이 코드가 $count++
일 것이라고 추정하지만이 코드를 어떻게 작성해야할지 모르겠습니다.
내 자바 스크립트 타이머 여기에서 잡고되었습니다
자바 스크립트
var count1 = new countDown(new Date('2010/12/11 10:44:59'),'counter1', 'tomorrow 10:45')
,count2 = new countDown(new Date('2010/12/25'),'counter2', 'first christmas day 2010')
,count3 = setTimeout(function(){
return new countDown(new Date('2011/12/25'),'counter3', 'first christmas day 2011');
},2000)
,count4 = setTimeout(function(){
return new countDown(new Date('2100/01/01'),'counter4', 'a new era starts');
},4000);
function countDown(startTime, divid, the_event){
var tdiv = document.getElementById(divid)
,start = parseInt(startTime.getTime(),10)
,the_event = the_event || startTime.toLocaleString()
,to;
this.rewriteCounter = function(){
var now = new Date().getTime()
,diff = Math.round((start - now)/1000);
if (startTime > now)
{
tdiv.innerHTML = diff +' seconds untill ' + the_event;
}
else {clearInterval(to);}
};
this.rewriteCounter();
to = setInterval(this.rewriteCounter,1000);
}
HTML
<div id="counter1">waiting...</div>
<div id="counter2">waiting...</div>
<div id="counter3">waiting...</div>
<div id="counter4">waiting...</div>
:
http://jsfiddle.net/HSx9U/
코드는 다음과 같다
HTML 테이블/PHP 루프
<table>
<tr>
<th id="logo">Logo</th>
<th id="name">Name</th>
<th id="discount">Discount</th>
<th id="length">Sale Length</th>
<th id="time">Time Remaining</th>
<th id="what">On What</th>
<th id="small-print">Small Print</th>
<th id="link">Link to Sale</th>
</tr>
while ($row = mysql_fetch_array($result)) {
$discount = $row['discount'];
$product = $row['product'];
$terms = utf8_decode($row['terms']);
$brand_name = $row['brand_name'];
$code = $row['code'];
$link = $row['link'];
$logo = $row['logo'];
$length = $row['length'];
<tr>
<td headers="logo"><?php echo $logo;?></td>
<td headers="name"><p><?php echo $brand_name;?></p></td>
<td headers="discount"><p><?php echo $discount;?></p></td>
<td headers="length"><p><?php echo $length;?></p></td>
<td headers="time"><p style="color:#F00;">timer here</p></td>
<td headers="what"><p><?php echo $product;?></p></td>
<td headers="small-print"><p><?php echo $terms;?></p></td>
<td headers="link"><p>Redeem</p></td>
}
</table>
내가 new Date('$newDate')
에 new Date('2010/12/11 10:44:59')
을 바꿀 수 추정하지만이 작동하지 않았다.
어디서 구현해야할지 모르겠습니다. 배열이 다음과 같습니까? $ array = ($ dbTime); 배열 작업에 익숙하지가 않아요. – Luis
while 루프에서 배열을 빌드하여 $ array [ 'counter'. $ rownumber] = $ row [ 'time']; –
그러면 배열을 javascript로 가져 오면 myarray.counter1이 counter1에 대해 원하는 시간으로 설정 될 수 있도록 객체가 JSON에서 결합 배열에 대해 자동으로 나타납니다. 그런 다음 자바 스크립트에서 배열을 반복하여 다음과 같이 카운터 위젯을 추가 할 수 있습니다. 'for (var countername in myarray) { var newcounter = new countDown (new Date (myarray [countername]), countername, 'new era starts'); }'(코드 포맷에 대해 미안 해요!) –