|
|
|
| Написал файл для для ежедневной записи в базу `pays`
Вот файл cron.php
<?php
header('If-Modified-Since: Thu, 01 Jan 1970 00:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Pragma: no-cache');
header('Content-Type: text/html; charset=utf-8');
require_once($_SERVER['DOCUMENT_ROOT']."/ad_in/config.php");
$get_pays = "SELECT * FROM `pays`";
$opsd = mysql_query($get_pays);
$count=mysql_num_rows($opsd);
echo $count."<br>";
$i=0;
if($i<$count) {
$day=""; $us_id=""; $sum="";
while($os= mysql_fetch_array($opsd))
{
$us_id=$os['id'];
$id_user=$os['id_user'];
$sum=$os['sum'];
unset($day);
$day=(200*$sum/100)/40;
$sql = "UPDATE `pays` SET `out_sum` = out_sum + '".$day."' WHERE `id`='".$us_id."' LIMIT 1";
if(mysql_query($sql)) echo "Saces!".$day; unset($day);
$i++; }
}
?>
|
Но происходит следующее : $day почему-то пишется 3 раза. А показывает один раз например 5.
По идее как задумывалось изначально $day должна вноситься только один раз.
Как сделать чтобы запись вносилась только по одному разу? | |
|
|
|
|
|
|
|
для: vic445
(28.02.2013 в 06:59)
| | Неужели никто не знает?
Тут явно какая-то ошибка все таки есть. | |
|
|
|
|
|
|
|
для: vic445
(28.02.2013 в 10:35)
| | Сейчас ваш скрипт выполняет то что выполнит один запрос к БД : UPDATE `pays` SET `out_sum` = `out_sum` + 0.05*`sum` | |
|
|
|
|
 2.3 Кб |
|
|
для: Lotanaen
(28.02.2013 в 11:32)
| | В данный момент скрипт вытаскивает из базы pays все записи.
Затем по одному запросу редактирует столбец `out_sum` .
Но вся проблема что запрос происходит не один раз хотя указано LIMIT 1,
а 3 раза.
Например если переменная $day=5; то происходит изменнение не на 5; а на 15?
Чтобы вы увидели как это происходит -файлы прилагаются. | |
|
|
|
|
|
|
|
для: vic445
(28.02.2013 в 14:00)
| | а приведенный мной запрос Вас не устраивает? он делает как раз то что Вам нужно, если я Вас правильно понял. | |
|
|
|
|
|
|
|
для: vic445
(28.02.2013 в 14:00)
| | Да и Ваш скрипт один раз добавляет к каждой записи на моем денвере. А как Вы скрипт этот вызываете? Если трижды происходит добавление у Вас, то значит Вы его трижды запускаете. | |
|
|
|
|
|
|
|
для: Lotanaen
(28.02.2013 в 14:39)
| | В том то и дело. Скрипт запускается один раз. Файл находится в корне сайта.
Для тестирования запускается просто в адресной строке:
http://localhost/cron.php
Кстати это я замечал на многих скриптах запускаем один раз а прописывается по два раза или три раза. Пробовал варианты for. То же самое. | |
|
|
|
|
|
|
|
для: Lotanaen
(28.02.2013 в 14:39)
| | А вы пробовали запустить скрипт. Исходные файлы я выслал. По идее скрипт очень простой. | |
|
|
|
|
|
|
|
для: vic445
(01.03.2013 в 05:07)
| | да, все нормально сработало. | |
|
|
|