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 :: JavaScript + PHP

 PHP.SU

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


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

> Описание: Вопрос: как в JavaScript вставить переменные из PHP (вытаскиваем время из базы)?
webog
Отправлено: 15 Августа, 2013 - 15:08:44
Post Id


Частый гость


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


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

[+]


Добра всем!

Есть прогресс-бар на JavaScript
Переменные:
Время последней рассылки
Время следующей рассылки

Прогресс-бар показывает сколько времени осталость ждать и сколько процентов времени прошло.

Время храниться в базе mySQL.

Вопрос: как в JavaScript вставить переменные из PHP (вытаскиваем время из базы)?

Кусок кода:

CODE (javascript):
скопировать код в буфер обмена
  1. var aDefOpts = {
  2.             start: new Date(2013, 7, 15, 12, 01, 12),
  3.             finish: new Date(2013, 7, 15, 15, 00, 00),
  4.  
  5.             interval: 100
  6.         }


Спасибо!


-----
Hello!
 
 Top
3d_killer
Отправлено: 15 Августа, 2013 - 15:34:12
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




ну то есть во время выполнения идут постоянные запросы в базу?
 
My status
 Top
caballero
Отправлено: 15 Августа, 2013 - 15:41:52
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




переменные вставляются как в обычный html


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
3d_killer
Отправлено: 15 Августа, 2013 - 15:47:18
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




в JAVA
CODE (javascript):
скопировать код в буфер обмена
  1. $.ajax({
  2.   dataType: 'HTML',
  3.   async:false,
  4.   type: "POST",
  5.   url: 'time.php',
  6.   data: {id:id},
  7.           success: function(data)
  8.                   {
  9.                         eval('var obj=' + data);
  10.                         if(obj.result)
  11.                         {
  12.                                 var time = obj.result['time'];
  13.                                 alert (time);
  14.                         }
  15.                   });

в вызываемом файле

PHP:
скопировать код в буфер обмена
  1. $query=mysql_query(...limit 1);
  2. $result =mysql_fetch_array($query);
  3. $result['time']=$result['time'];
  4. die( json_encode(array('result'=>$result)) );
 
My status
 Top
webog
Отправлено: 15 Августа, 2013 - 15:47:21
Post Id


Частый гость


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


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

[+]


3d_killer пишет:
ну то есть во время выполнения идут постоянные запросы в базу?


Нет, только при обновлении страници.
(Добавление)
caballero пишет:
переменные вставляются как в обычный html


Как PHP Вы хотели сказать ))
(Добавление)
Все хорошо! Спасибо!

Но...

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         $datatimep = "1372766457";
  3.         $datatime = date("Y, m, d, H, i, s", $datatimep);
  4. ?>


CODE (javascript):
скопировать код в буфер обмена
  1. var namet = "<?php echo $datatime; ?>";
  2. var aDefOpts = {
  3.             start: new Date(2013, 7, 15, 12, 01, 12),
  4.             finish: namet,
  5.  
  6.             interval: 100
  7.         }


Ошибка: NaN

Где туплю?


-----
Hello!
 
 Top
3d_killer
Отправлено: 15 Августа, 2013 - 16:01:23
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




нды
PHP выполняется на серваке хоста
JAVA на компе пользователя
то есть юзер не может получить доступ к переменным пхп так же как и JAVA
либо делай через скрытые поля и получай по id или еще чему нибудь или как я написал выше

(Отредактировано автором: 15 Августа, 2013 - 16:02:20)

 
My status
 Top
loktionov272
Отправлено: 15 Августа, 2013 - 16:04:50
Post Id


Гость


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


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




CODE (javascript):
скопировать код в буфер обмена
  1. var aDefOpts = {
  2.             start: new Date(<?php echo '1372766457'; ?>)
  3.             finish: new Date(<?php echo '1372766457'; ?>)
  4.  
  5.             interval: 100
  6.         }

?
Цитата:
dateObj = new Date(dateVal)
Если параметр является числовым, то он интерпретируется как количество миллисекунд от 1-Янв-1970 00:00.
 
 Top
webog
Отправлено: 15 Августа, 2013 - 16:11:27
Post Id


Частый гость


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


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

[+]


loktionov272 пишет:
finish: new Date(<?php echo '1372766457'; ?>)


Если так, то -15916 дн. -15 ч. -51 мин.:-55 сек. Не понял
(Добавление)
3d_killer пишет:
нды
PHP выполняется на серваке хоста
JAVA на компе пользователя
то есть юзер не может получить доступ к переменным пхп так же как и JAVA
либо делай через скрытые поля и получай по id или еще чему нибудь или как я написал выше


Да, но POST в Вашем примере сработает от обновления страници?


-----
Hello!
 
 Top
loktionov272
Отправлено: 15 Августа, 2013 - 16:17:57
Post Id


Гость


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


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




webog пишет:
-15916 дн. -15 ч. -51 мин.:-55 сек

 
 Top
Мелкий Супермодератор
Отправлено: 15 Августа, 2013 - 16:18:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




3d_killer пишет:
в JAVA

А написали JavaScript'овый код Однако

webog пишет:
Как PHP Вы хотели сказать ))

Нет, именно как в HTML.
На выходе PHP-скрипта вы должны получить валидный JS-код. Для PHP - это всё строки, ему без разницы, что в них.

loktionov272 пишет:
Если параметр является числовым, то он интерпретируется как количество миллисекунд

Обратите внимание, не секунд, что есть unixtime, а миллисекунды. Надо тройку нулей приписать.

Ну и очередной вариант:
PHP:
скопировать код в буфер обмена
  1. var aDefOpts = {
  2.             start: new Date(2013, 7, 15, 12, 01, 12),
  3.             finish: new Date(<?PHP echo date("Y, m, d, H, i, s", $datatimep); ?>),
  4.  
  5.             interval: 100
  6.         }


-----
PostgreSQL DBA
 
 Top
webog
Отправлено: 15 Августа, 2013 - 16:22:15
Post Id


Частый гость


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


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

[+]


Вообщем работает так...

PHP:
скопировать код в буфер обмена
  1. $datatimep = "1376572513"; // из базы значение
  2.         $datatime = date("Y, m, d, H, i, s", $datatimep); // приводим к виду для JS


CODE (javascript):
скопировать код в буфер обмена
  1. finish: new Date(<?php echo $datatime; ?>),


$datatime выведет 2013, 08, 15, 17, 15, 13 , но в скрипте start: new Date(2013, 7, 15, 12, 01, 12),

Т.е. месяц разници 31 дн. 0 ч. 54 мин.:26 сек.

В JS
0 - январь
1 - февраль
...
7 - август

В PHP
8 - август

Как победить сей недуг? Нахмурился


-----
Hello!
 
 Top
loktionov272
Отправлено: 15 Августа, 2013 - 16:23:32
Post Id


Гость


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


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




Мелкий пишет:
Обратите внимание, не секунд, что есть unixtime, а миллисекунды. Надо тройку нулей приписать.

извиняюсь, это был лишь недодуманный пример, который еще не был предложен Улыбка

webog пишет:
Да, но POST в Вашем примере сработает от обновления страници?

webog
к чему ajax, если можно без него?
webog пишет:
данные нужны только при обновлении страници
 
 Top
webog
Отправлено: 15 Августа, 2013 - 16:44:04
Post Id


Частый гость


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


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

[+]


Тему можно закрывать!

Решил не заморачиваться и просто отнял МЕСЯЦ ))

1й вариант:
PHP:
скопировать код в буфер обмена
  1. $datatimep = "1376572513"; // значение с базы
  2.     $datatime = date("d.m.Y H:i:s", $datatimep);
  3.  
  4.     $date = new DateTime($datatime);
  5.     $date->modify("-1 months");
  6.     $dats = $date->format('Y, m, d, H, i, s'); //минус МЕСЯЦ


2й вариант
PHP:
скопировать код в буфер обмена
  1. $datatimep = "1376572513";
  2.         $datatime = date("Y, m-1, d, H, i, s", $datatimep);


Думаю оба примера правильные и валидны. Хорошо

(Отредактировано автором: 15 Августа, 2013 - 16:44:25)



-----
Hello!
 
 Top
Мелкий Супермодератор
Отправлено: 15 Августа, 2013 - 17:01:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




loktionov272 пишет:
извиняюсь, это был лишь недодуманный пример, который еще не был предложен

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

webog пишет:
Т.е. месяц разници

Ах, я как раз и вспоминал, отчего на работе писалось как-то сложнее. Так и не вспомнил.


-----
PostgreSQL DBA
 
 Top
webog
Отправлено: 15 Августа, 2013 - 17:08:28
Post Id


Частый гость


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


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

[+]


Мелкий пишет:
Ах, я как раз и вспоминал, отчего на работе писалось как-то сложнее. Так и не вспомнил.


Хотел Спсибку нажать, а мне


Нажмите для увеличения


Как избавиться от этого?

(Отредактировано автором: 15 Августа, 2013 - 17:09:37)



-----
Hello!
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB