Простой ответ на ваш вопрос: Мой вопрос заключается в том, как получить только одно значение в переменной, чтобы я мог сохранить его в таблице? будет выглядеть так: просто укажите $ arr с помощью ключа, например $arr[0]
- это первое значение, $arr[1]
- это второе значение и т. Д. c ...
Но я считаю, что это не ваш вопрос. Это больше о том, как добиться этого в сочетании с заданием cron.
Вот решение, которое я придумала:
Это текущий пример вывода из вашего кода:
array (size=35)
0 => float 4.1004135360242
1 => float 5.0905702137574
2 => float 4.1819558506611
3 => float 1.8754732366474
4 => float 1.3512726425534
5 => float 9.7035354417846
6 => float 3.7509464732949
7 => float 7.7581687925913
8 => float 4.6013163259363
9 => float 2.5394606558332
10 => float 2.5627584600151
11 => float 1.6774419011008
12 => float 10.553905294426
13 => float 10.938319063428
14 => float 6.0923757935815
15 => float 8.0610402469567
16 => float 10.099598112878
17 => float 9.7501310501485
18 => float 2.3064826140136
19 => float 10.495660783971
20 => float 11.637253188887
21 => float 2.9821189352903
22 => float 8.3406138971402
23 => float 10.099598112878
24 => float 6.0457801852175
25 => float 0.46595608363912
26 => float 0.51255169200303
27 => float 2.108451278467
28 => float 1.7123886073738
29 => float 6.2205137165822
30 => float 7.5950841633176
31 => float 10.949967965519
32 => float 1.1765391111888
33 => float 6.7563632127672
34 => float 5.9059933601258
Я бы сохранил все эти значения в пустой таблице (cronvalues
) со структурой, подобной этой:
id value used
1 4.1004135360242 0
2 5.0905702137574 0
3 4.1819558506611 0
4 1.8754732366474 0
etc (up to 35 rows)
Это поколение из данных должен быть ваш текущий файл php и он должен называться generate.php
или аналогичным.
Файл, который называется ежедневным, может быть cronday.php
:
cronday. php:
ВЫБРАТЬ СЛУЧАЙНЫЙ ИДЕНТИФИКАТОР из таблицы cronvalues
SQL: SELECT id FROM cronvalues WHERE used = 0 ORDER BY RAND() LIMIT 1
Сохранить значение в $result_id
ОБНОВЛЕНИЕ ЗНАЧЕНИЯ в базе данных, которая используется сейчас
SQL: UPDATE cronvalues SET used = 1 WHERE id={$result_id}
В этих шагах вы можете отслеживать текущую сумму, используя SQL:
SELECT SUM() AS currentsum FROM cronvalues WHERE used = 1
Выше основано на самом деле cronjob выполняется только один раз в день. Если вы хотите сделать дополнительный контроль, вы можете добавить дополнительный столбец в таблице, чтобы проверить это с текущей датой.
Я не уверен, что это именно то, что вы имели в виду, но я надеюсь, что это даст некоторые идеи, как Вы можете решить свою проблему.