Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Передача переменной из php в javascript

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
shurik330
Отправлено: 02 Декабря, 2011 - 13:34:58
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Здравствуйте.
Подскажите, как правильно передать массив из id в javascript из php.
Есть таймер, написанный на javascript. Мне необходимо разместить на странице несколько таймеров. Для этого необходимо, чтобы у контейнера, в котором он находится, были разные названия айдашников. Я им присваиваю id из базы. Как теперь передать эти значения id контейнера в файл countdown.js
time.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript" src="countdown.js"></script>
  3.  
  4. <script>// <![CDATA[
  5.  
  6. TargetDate = "12/20/2011 11:59 PM";
  7. BackColor = "#CC0000";
  8. ForeColor = "white";
  9. CountActive = true;
  10. CountStepper = -1;
  11. LeadingZero = true;
  12. DisplayFormat = "%%D%% дн. %%H%% ч. %%M%% мин. и %%S%% сек.";
  13. FinishMessage = "Сожалеем, регистрация на тренинг со скидкой закончилась!";
  14. // ]]></script>
  15.  
  16. <form name="tesss">
  17. <?PHP
  18.         include_once('../libs/connect.php');
  19.         $result = mysql_query("SELECT * FROM biglion");
  20.         $row = mysql_fetch_array($result);     
  21.         do {
  22.                  echo "<span id=tim".$row["id"]. " style=background-color:#CC0000; color:white; font-size:200%;><b>01</b> дн. <b>04</b> ч. <b>18</b> мин. и <b>15</b> сек.</span><br>";
  23.                  echo "<input type=hidden name=counter value=tim".$row["id"].">";
  24.         }
  25.         while ($row = mysql_fetch_array($result));
  26. ?>
  27. </form>
  28.  
  29.  

countdown.js
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function calcage(secs, num1, num2) {
  3.   s = ((Math.floor(secs/num1))%num2).toString();
  4.   if (LeadingZero && s.length < 2)
  5.     s = "0" + s;
  6.   return "<b>" + s + "</b>";
  7. }
  8.  
  9. function CountBack(secs) {
  10.         var idd = document.tesss.counter.value;
  11.   if (secs < 0) {
  12.     document.getElementById('idd').innerHTML = FinishMessage;
  13.     return;
  14.   }
  15.   DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
  16.   DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
  17.   DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
  18.   DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
  19.  
  20.   document.getElementById('idd').innerHTML = DisplayStr;
  21.   if (CountActive)
  22.     setTimeout("CountBack(" + (secs+CountStepper) + ")", SetTimeOutPeriod);
  23. }
  24.  
  25. function putspan(backcolor, forecolor) {
  26.         var idd = document.tesss.counter.value;
  27.  document.write("<span id='idd' style='background-color:" + backcolor +
  28.                 "; color:" + forecolor + "'></span>");
  29. }
  30.  
  31. if (typeof(BackColor)=="undefined")
  32.   BackColor = "white";
  33. if (typeof(ForeColor)=="undefined")
  34.   ForeColor= "black";
  35. if (typeof(TargetDate)=="undefined")
  36.   TargetDate = "12/31/2020 5:00 AM";
  37. if (typeof(DisplayFormat)=="undefined")
  38.   DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
  39. if (typeof(CountActive)=="undefined")
  40.   CountActive = true;
  41. if (typeof(FinishMessage)=="undefined")
  42.   FinishMessage = "";
  43. if (typeof(CountStepper)!="number")
  44.   CountStepper = -1;
  45. if (typeof(LeadingZero)=="undefined")
  46.   LeadingZero = true;
  47.  
  48.  
  49. CountStepper = Math.ceil(CountStepper);
  50. if (CountStepper == 0)
  51.   CountActive = false;
  52. var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
  53. putspan(BackColor, ForeColor);
  54. var dthen = new Date(TargetDate);
  55. var dnow = new Date();
  56. if(CountStepper>0)
  57.   ddiff = new Date(dnow-dthen);
  58. else
  59.   ddiff = new Date(dthen-dnow);
  60. gsecs = Math.floor(ddiff.valueOf()/1000);
  61. CountBack(gsecs);
  62.  

Извините за огромный код.
 
 Top
DlTA
Отправлено: 02 Декабря, 2011 - 13:39:30
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




 
 Top
shurik330
Отправлено: 02 Декабря, 2011 - 14:26:51
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Или, хотя бы, как правильно подключить несколько таймеров на страницу?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB