С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70

Как передавать данные из цикла php в javascript

26.09.2015, 14:49. Показов 2244. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени! Подскажите пожалуйста как реализовать такую задачу: есть скрипт, который получает конечную дату и начальную дату, вычисляет разницу и показывает оставшееся время до окончания события. Все это происходит в php, тоесть получаю даты из произвольных полей админки сайта таким образом: например дата 26.09.2015
PHP
1
<?php $start_date = explode(".", $start_date) ?>
и передаю в скрипт так:
JavaScript
1
var start_date = new Date(<?php echo $start_date[1] ?>, <?php echo $start_date[0] ?>, <?php echo $start_date[2] ?>, "00:00:00" );
Также передаю и конечную дату. Когда данные из произвольного поля получаются без цикла, тоесть для одной записи, то все срабатывает, а когда в цикле получается ерунда. Пробовал крутить скрипт в цикле, но тоже не помогает. Помогите советом как реализовать все это? Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.09.2015, 14:49
Ответы с готовыми решениями:

Как передать данные JavaScript в GET параметр PHP?
в странице есть список сотрудников компании. при клике на определенного сотрудника выходит модальное окно с оценкой качества его работы и...

Как получить данные с JavaScript в PHP
Проблема в том, что при нажатии элемента в таблице я достаю id нужной строки. Вот код как я создаю таблицу: while($valrezerv =...

Получить данные из цикла php
Здравствуйте. Помогите разобраться вот в чём. Есть такой пхп код $query_cont= &quot;SELECT * FROM offer_auto ORDER BY RAND() LIMIT 3&quot;; ...

38
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.09.2015, 15:20
dfinchenko, у вас эхо строку выводит или число?

Добавлено через 21 секунду
если строку, то надо и в js показать, что строку

Добавлено через 24 секунды
кстати не так давно была тема, что у пхп и js разные форматы дат
и ваше эхо может сработать не правильно
0
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70
26.09.2015, 15:28  [ТС]
BANO, да, чтобы не было конфликтов, я дату полученную в php разбиваю на числа и ложу в массив, в свою очередь в javascript вывожу с помощью echo числа, а javascript сам формирует из них дату.

Добавлено через 1 минуту
Без цикла скрипт все отлично отрабатывает, выводит и считает время до окончания.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.09.2015, 15:32
ну вы зря поставили 4 параметр

а код примерно такой
JavaScript
1
2
3
start=new Date(<?php echo $start_date[1] ?>, <?php echo $start_date[0] ?>, <?php echo $start_date[2] ?>);
end = new Date(<?php echo $end_date[1] ?>, <?php echo $end_date[0] ?>, <?php echo $end_date[2] ?>);
result = end-start;
0
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70
26.09.2015, 15:37  [ТС]
BANO, код реализован и работает если данные даты получается один раз, не в цикле, просто в цикле значения меняются и скрипт синхронно с циклом не обрабатывает, даже если код скрипта в цикл добавляю.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.09.2015, 15:46
dfinchenko, дайте весь цикл
0
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70
26.09.2015, 15:56  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php while($sale_query -> have_posts()) : $sale_query -> the_post(); ?>
                         
    <?php $starting = get_post_meta($post->ID, 'stating', true) ;
                             $starting = explode(".", $starting);
 
$ending = get_post_meta($post->ID, 'ending', true) ;
                             $ending = explode(".", $ending);
 
                            ?> 
    
               
                                <div class="sales-item-info">
 
                                </div>
                                <div class="sales-item-actions">
                                    
                                    <div class="sales-item-lower-timer">
                                        <div id="tim" class="timer">
                                            <div class="timer-block">
                                                <span id="getdays" class="timer-days">
                                                    
                                                </span>
                                                <span class="timer-text">дней</span>
                                            </div>
                                            
                                            <span class="divider">:</span>
                                            <div class="timer-block">
                                                <span id="gethours" class="timer-hours">
                                               
                                                </span>
                                                <span class="timer-text">часов</span>
                                            </div>
                                           <span class="divider">:</span>
                                            <div class="timer-block">
                                                <span id="getmins" class="timer-minutes">
                                                    
                                                </span>
                                                <span class="timer-text">минут</span>
                                            </div>
                                        </div>
                                    </div>
                                    <span href="#" class="sales-item-link-short btn-square">
                                        Смотреть
                                    </span>
                                </div>
                            </a>
                        </div>
                             <script type="text/javascript"> 
  
                             timetoaction();
                               function timetoaction() {
    var now = new Date();
                                 
    var starting = new Date("<?php echo $starting[1] ?>,<?php echo $starting[0] ?>,<?php echo $starting[2] ?>, 00:00:00");
    var ending = new Date("<?php echo $ending[1] ?>,<?php echo $ending[0] ?>,<?php echo $ending[2] ?>, 00:00:00");
                                  
    var totalRemains = (ending.getTime()-now.getTime());
  if (totalRemains>1)
    {
        var RemainsSec=(parseInt(totalRemains/1000));
        
          var RemainsFullDays=(parseInt(RemainsSec/(24*60*60)));
        
        var secInLastDay=RemainsSec-RemainsFullDays*24*3600;
        
        var RemainsFullHours=(parseInt(secInLastDay/3600));
        
        if (RemainsFullHours<10){RemainsFullHours="0"+RemainsFullHours};
        
        var secInLastHour=secInLastDay-RemainsFullHours*3600;
        
        var RemainsMinutes=(parseInt(secInLastHour/60));
        
        if (RemainsMinutes<10){RemainsMinutes="0"+RemainsMinutes};
        
        var lastSec=secInLastHour-RemainsMinutes*60;
        
        if (lastSec<10){lastSec="0"+lastSec};
        
         document.getElementById("getdays").innerHTML = RemainsFullDays;
        
         document.getElementById("gethours").innerHTML = RemainsFullHours;
         
        document.getElementById("getmins").innerHTML = RemainsMinutes;
     
          setTimeout("timetoaction()",10);
        
    } 
    else {document.getElementById("tim").style.display = "none";}
}
                             
                            </script>    
                    
                             
                            
        <?php
            endwhile;
            wp_reset_query();
        ?>
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.09.2015, 16:48
dfinchenko, хорошо
теперь понятно откуда данные берутся
только не понятно что именно вас не устраивает
0
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70
26.09.2015, 16:51  [ТС]
BANO, именно так сейчас скрипт не отрабатывает, на одном блоке только выводит счетчик и то данные как будто сплюсованы. Когда цикл убираю, то все норм на одном блоке все работает хорошо.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.09.2015, 17:07
dfinchenko, вы используете одно название переменной для разных значений, это ошибка, надо либо сгенерировать случайное имя и потом его использовать для каждого блока, либо как-то прикрепить данные как свойство блока
0
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70
26.09.2015, 17:12  [ТС]
BANO, спасибо! Буду разбираться и тестить!

Добавлено через 38 секунд
BANO, если будут идеи, подскажите пожалуйста как именно можно реализовать.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.09.2015, 17:17
dfinchenko, по мне, тк лучше сделать массив объектов в одном скрипте, а блоки генерировать потом, по данным массива js
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
26.09.2015, 17:33
dfinchenko, извращенец
1. напиши правильно mysql запрос и прямо в нем формируй нужный вывод даты
2. Научись отделять html, php, js. В твоем коде это каша
3. Открой для себя нормальный редактор кода. PhpStorm, NetBeans
0
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70
26.09.2015, 17:35  [ТС]
Poznakomlus, может я конечно, отстал от жизни, но как мне в шаблоне WordPress отделить php от html? Код js соответственно лежит в отдельном файле.
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.09.2015, 17:40
Poznakomlus, мы с ним напару извращенцы, но я ещё могу понять эти извращения, а он не имеет опыта работы с таким "красивым" кодом
0
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70
26.09.2015, 17:44  [ТС]
Poznakomlus, что же вы, покажите мастер-класс как в шаблоне вордпресса отделить php и html. Вам многие буду благодарны!
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.09.2015, 17:48
dfinchenko, да ладно вам
ну человек просто не знает всех обстоятельств
а на самом деле все скрипты надо реально выводить в отдельный файл

могу предложить вот, что

загружается страница(без php) на ней ajax обращается к php скрипту, который возвращает значения из вашей mysql, а скрипт на клиенте получает эти данные и по результату, который он получил генерирует эти ваши "блоки"
0
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70
26.09.2015, 17:50  [ТС]
BANO, спасибо большое!
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.09.2015, 17:53
dfinchenko, а можно даже сделать псевдо скрипт и там все данные дать
HTML5
1
2
3
<script id="date-arr" type="x-myowndataheader/x-data">
<?php /*f тут ваш цикл, который должен выводить данные например по строкам и дата(начальная и конечная должны разделяться каким-нибудь знаком, например @)*/?>
</script>
Добавлено через 45 секунд
ну а потом уже на чистом js берём тест из этого псевдоскрипта и генерируем по нему данные

Добавлено через 33 секунды
но как ни крути это всё - извращение, которое ещё надо поискать
0
4 / 4 / 0
Регистрация: 13.10.2013
Сообщений: 70
27.09.2015, 17:37  [ТС]
Может кто-то знает как проще это все реализовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.09.2015, 17:37
Помогаю со студенческими работами здесь

Как передать данные из PHP в Javascript(VK API)
Как можно в данный код function setHtmlChat(objChat) { var chatrows = ''; // stores the area with chat lines var chatusers...

Как из php файла передать данные в переменную javascript
Обращаюсь по АПИ к стороннему сервису. В ответ получаю данные: Array ( =&gt; Array ( =&gt; 1122...

Можно ли в Java передавать данные по сети допустим с андроида в PHP сервер???
Можно ли в Java передавать данные по сети допустим с андроида в PHP сервер???

Javascript кнопка в html элементе php цикла
Приветствую. Сразу сообщу - опыта в написани чего-либо в яве нет, разве что сталкивался просто не раз. Делаю поиск по mysql базе данных,...

Как передавать данные?
Здравствуйте. Написал службу, которая через сокет получает данные (несколько переменных double). Какие есть способы передачи этих данных в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru