|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
Таймер в php03.08.2019, 10:01. Показов 2323. Ответов 15
Всем привет!
Уважаемые знатоки, помогите решить задачу. Дано: цены, которые должны изменяться рандомом в заданный промежуток времени. пусть это время будет 1 час. Пример: $price1 = рандом(от 200 до 1000); $price2 = рандом(от 200 до 5000); $price3 = рандом(от 300 до 3000); и т.д. все эти цены должны меняться переодически. то есть раз в определенный промежуток времени. Конечно, есть js и setinterval) Вопрос: если использовать js, то как тогда дать понять php, что товар нужно продать по данным из js.. как это реализовать? Или как реализовать тот самый таймер на php?
0
|
|
| 03.08.2019, 10:01 | |
|
Ответы с готовыми решениями:
15
Таймер php Таймер в php
|
|
Невнимательный
|
||||
| 03.08.2019, 10:33 | ||||
|
Как вариант, можно хранить где-то на сервере эти данные $price1, $price2, $price3 вместе с временем последнего изменения.
//текстовой файл, база данных ... При каждом запросе данных сверять время последней перезаписи, обновлять сохранённое если истекло время, и отдавать текущие значения // для именно "раз в определенный промежуток времени." нужен какой-то демон, типа cron Добавлено через 2 минуты Добавлено через 3 минуты Добавлено через 7 минут клиент передаёт время получения им цен, сервер сравнивает время с последними актуальными промежутками, в которые изменялись цены, и считает что на клиенте именно такие цены как цены одного из сохранённых периодов
0
|
||||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
| 03.08.2019, 10:47 [ТС] | |
|
Еще один нюанс. эти цены мне нужно показать пользователям - вывести на экран.
Пляшем дальше) можно с помощью ajax внести эти данные в БД? если да, то как? какой то примерный кусок кода. потом уже плясать с данными с БД через php.
0
|
|
|
Невнимательный
|
||
| 03.08.2019, 11:24 | ||
|
Насчёт ajax я затрудняюсь отвечать вообще .)
так-то вроде просто на примерах, типа как https://www.w3schools.com/js/js_json_php.asp // типа как там где пример PHP Method = POST соответственно с другими данными и другим запросом Но на практике, последними браузерами в которых я что-то пробовал запускать были IE6 Opera9 ... .) работоспособность под вопросом Он должен адекватно понять соответствуют-ли данные тому что некий клиент отправлял их видя нужные корректные значения. Возможно даже нужно переспросить пользователя клиента, записать что-то в сессию, перед тем как что-то применять.
0
|
||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
||
| 03.08.2019, 12:12 [ТС] | ||
|
беда-печаль.. в php не додумались сделать функцию таймера. а вы ломайте теперь голову, взрывайте мозг и думайте как сделать ![]()
0
|
||
|
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
|
|
| 04.08.2019, 10:36 | |
|
В смысле не додумались?! time() Есть такая функция! Бери и при каждом запросе выщитывай разницу! Всё!
0
|
|
|
Невнимательный
|
||
| 04.08.2019, 10:52 | ||
|
1. данные должны периодически изменяться на сервере 2. клиент не должен подсовывать левые данные, которые не соответствуют текущим или как-минимум не было до последнего изменения // Двойная буферизация , я-бы назвал... как минимум 3. с момента как пользователь отправил на сервер подтверждение выбора, сверенные данные, если он подтвердит корректность, уже неизменны. // Ещё один буфер. //// http это просто протокол передачи сообщений, запрос/ответ http-сервер просто получает запрос отсылает ответ, и дальше как-то проводит своё свободное время. real-time требует постоянных соединений сервера с клиентами. Но тоже с поправками на интервалы между временем получения данных и временем отправки. c ajax максимум можно сделать отправку запросов и получение ответов по таймеру
0
|
||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
| 04.08.2019, 17:55 [ТС] | |
|
0
|
|
|
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
|
|||||||
| 04.08.2019, 17:57 | |||||||
1
|
|||||||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
| 04.08.2019, 17:58 [ТС] | |
|
Вообщем эту проблему я решил)
Может кому пригодится) на вооружение взял ПДО создал отдельный файл, где подключился к базе и написал парочку запросов. данный файл закинул на обработку в планировщик openserver и поставил нужный интервал. в итоге нужные мне цены, которые в обработанном рандомом виде были благополучно отправленные в нужное место в базе, а потом выведены оттуда на экран))) при обновлении страницы не меняются! пока не придет время отработать выше указанного файла. Ссылка как подключить все в планировщике OS: http://pechenek.net/instrument... hp-skript/
0
|
|
|
Невнимательный
|
||
| 04.08.2019, 18:00 | ||
|
и на клиенте ещё старые данные а на сервере уже новые ? Или это не важно, или клиент ничего не отправляет на сервер основываясь на полученном?
0
|
||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
|
| 04.08.2019, 19:06 [ТС] | |
|
в качестве теста:
Цена за - Пшеница равна 2743 $$$ Цена за - Ячмень равна 3099 $$$ Цена за - Кукуруза равна 1705 $$$ Цена за - Горох равна 3780 $$$ перекопал доки по пдо - паутина мама не горюй. запутался. Ребят, подскажите, возможно ли отделаться одним запросом в БД и все эти числа раскидать по разным переменным? а не отправлять такое же количество запросов
0
|
|
|
Невнимательный
|
|||||||||||
| 04.08.2019, 19:24 | |||||||||||
![]() Они в одной таблице? много там записей? Имена и тип данных полей можно посмотреть например так
0
|
|||||||||||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
||
| 04.08.2019, 19:54 [ТС] | ||
|
$sql = "SELECT * FROM price"; $query = $connect->query($sql) or die("failed!"); while ($result = $query->fetch(PDO::FETCH_ASSOC)) { echo ' равна ' . $result['cost'] . ' $$$ <br>'; } но при попытке запустить другой какой то цикл чтобы записать куда мне надо получаю либо ошибки, либо бесконечный цикл
0
|
||
|
Невнимательный
|
||||||||||||||
| 04.08.2019, 21:47 | ||||||||||||||
//если правильно догадался от скольки до скольки цисла Вариант с INSERT .... ON DUPLICATE KEY UPDATE как-то не осилил представить с одним запросом Добавлено через 7 минут имя таблицы поправил Добавлено через 11 минут "INSERT INTO price (val, cost) VALUESНо сомневаюсь и неначем/некогда проверять
1
|
||||||||||||||
|
52 / 35 / 16
Регистрация: 03.08.2019
Сообщений: 389
|
||
| 05.08.2019, 00:52 [ТС] | ||
|
2 строки кода: $stmt = $pdo->query("SELECT cost FROM price")->fetchAll(PDO::FETCH_COLUMN); list($d, $c, $p, $s) = $stmt; ================= echo '<br>' . $s . '<br>'; echo '<br>' . $p . '<br>'; echo '<br>' . $c . '<br>'; echo '<br>' . $d . '<br>'; и все цифры в разных переменных) выборка с базы: Пшеница => 3786 $ Ячмень => 4376 $ Кукуруза => 2696 $ Горох => 1861 $ а это те самые циферки: 1861 2696 4376 3786
0
|
||
| 05.08.2019, 00:52 | |
|
Помогаю со студенческими работами здесь
16
Таймер php Таймер на PHP
Таймер на PHP Таймер в php Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|