Тема: Помош по cron на сайте (WAP/WEB мастеру/Помощь мастерам) Shaxa (29 Oct 2018 в 00:26) крон неправилный работает вот скреен SimptomFD (29 Oct 2018 в 04:02) 1. Где кавычки потерял? 2. Обрати внимание на строку: mysql_query(\"SELECT * FROM invest WHERE id = \'\".($depo[\'id\']).\"\'\"); 3. Зачем нужно было объявлять переменные $time и $last_time? 4. Условие: if($depo[\'date_end_hidden\']<=time()) вовсе должно быть в запросе. 5. Все фигня, давай сначала) kantry (29 Oct 2018 в 04:35) Shaxa, крон то тут причем? Все вычисления можно на mysql переложить <?php $q=mysql_query(\"SELECT id, user_id, `count`, count_full, (`summa` * `foiz`) pul FROM `invest` WHERE date_end_hidden<=\" . time()); ?> У тебя там лишний запрос в цикле, воздух продает:D <?php mysql_query(\"SELECT * FROM invest WHERE id = \'\".($depo[\'id\']).\"\'\"); ?> Shaxa (29 Oct 2018 в 12:58) kantry, ок вечером проверим Shaxa (29 Oct 2018 в 20:53) SimptomFD, мне каждий ден +1 надо итаго 3 если 1-й ден (0/3) ==>(1/3) и проценний сумма ==>($pul) mysql_query(\"UPDATE `user` SET `money` = \'\".($user[\'money\']+$pul).\"\' WHERE `id` = \'\".($depo[\'user_id\']).\"\'\"); 2-й ден (0/3) ==>(2/3) и проценний сумма ==>($pul) mysql_query(\"UPDATE `user` SET `money` = \'\".($user[\'money\']+$pul).\"\' WHERE `id` = \'\".($depo[\'user_id\']).\"\'\"); 3-й ден (0/3) ==>(3/3) и проценний сумма ==>($pul) mysql_query(\"UPDATE `user` SET `money` = \'\".($user[\'money\']+$pul).\"\' WHERE `id` = \'\".($depo[\'user_id\']).\"\'\"); и последный статус mysql_query(\"UPDATE invest SET status = 1 WHERE id = \'\".($depo[\'id\']).\"\'\"); вот такие надо мне [i]Добавлено:[/i] есть знающих Shaxa (29 Oct 2018 в 22:55) kantry, твой коды помогает ну есть проблемы [i]Добавлено:[/i] $time = time(); $last_time = $time + 86400; $q=mysql_query(\"SELECT id, user_id, `foiz`, `summa`, `count`, count_full FROM `invest` WHERE date_end_hidden<=\" . time().\" AND status = 0 \"); while ($depo = mysql_fetch_array($q)) { $pul=$depo[\'summa\'] * ($depo[\'foiz\'] / $depo[\'count_full\'] ) ; mysql_query(\"UPDATE `user` SET `money` = \'\".($user[\'money\']+$pul).\"\' WHERE `id` = \'\".($depo[\'user_id\']).\"\'\"); mysql_query(\"UPDATE invest SET count = count + 1, date_end_hidden = \'$last_time\' WHERE id = \'\".($depo[\'id\']).\"\'\"); if (intval($depo[\'count\']) == $depo[\'count_full\']) {mysql_query(\"UPDATE invest SET status = 1 WHERE id = \'\".($depo[\'id\']).\"\'\");} } [i]Добавлено:[/i] вот неправилней работает SimptomFD (30 Oct 2018 в 00:24) Shaxa, Суть в том, что вместо добавления переменных можно сразу вставлять данные в запрос. То есть, к примеру, вместо: <? $pul = $depo[\'summa\'] * $depo[\'foiz\']; mysql_query(\"UPDATE `user` SET `money` = \'\".($user[\'money\']+$pul).\"\' WHERE `id` = \'\".($depo[\'user_id\']).\"\'\"); ?> Прописать запрос так: <? mysql_query(\"UPDATE `user` SET `money` = \'\".($user[\'money\']+$depo[\'summa\']*$depo[\'foiz\']).\"\' WHERE `id` = \'\".($depo[\'user_id\']).\"\'\"); ?> Учитель (30 Oct 2018 в 04:09) SimptomFD, Солнышко, ты почему такое прикукуренное? Видишь, сначала числа делятся ( foiz / count_full ) а потом сумма множиться ( summa * ) <? $pul = $depo[\'summa\'] * ($depo[\'foiz\'] / $depo[\'count_full\'] ) ; ?> Что ты советуешь человеку? Не позорь моё где:D Не спААААААААаааааать!:D kantry (30 Oct 2018 в 05:54) Shaxa, ты бы по человечьи описал что тебе надо? Например такая операция абсурдна если <?php $depo[\'count_full\'] = 0; $pul=$depo[\'summa\'] * ($depo[\'foiz\'] / $depo[\'count_full\']);// Warning: Division by zero ?> Shaxa (30 Oct 2018 в 10:27) kantry, ок Так если ты 3дня инвестицию ставлю например каждый день 9% итого 27% 3дней Теперь мне надо [i]Добавлено:[/i] Каждый день проценты получат надо и последний ден вставленный суммы [i]Добавлено:[/i] Вот примерно 1-й ден итого инвестиции 3дня (0/3)==>(1/3) и сумм 2-й ден (2/3) и сумм 3-й ден (3/3) и сумм +статус 1 +ставленний сумм kantry (30 Oct 2018 в 16:42) Shaxa, не могу я тебя понять, ozbek tilida yozish, может не удалят модеры:D Учитель^ (30 Oct 2018 в 17:34) --Цитата-- kantry (30 Oct 2018 в 16:42): Shaxa, не могу я тебя понять, ozbek tilida yozish, может не удалят модеры:D ---------- kantry, Тебе отдохнуть надо, считай ты один на весь сайт:) Ато местами находишь Узбекский. Ещё немного и начнёшь адронный коллайдер писать:D Shaxa (30 Oct 2018 в 17:54) --Цитата-- kantry (30 Oct 2018 в 16:42): Shaxa, не могу я тебя понять, ozbek tilida yozish, может не удалят модеры:D ---------- kantry, :) kantry (30 Oct 2018 в 17:59) Учитель^, тут с некоторыми скриптами можно не только БАКом бредить начать:D Shaxa (30 Oct 2018 в 18:02) kantry, xullas menga kunlik update boladigan cron lozim kantry (30 Oct 2018 в 18:05) Shaxa, я понимаю что он тебе нужен, ты файл - весь, прикрепи сюда)) Shaxa (30 Oct 2018 в 18:15) kantry, ok [i]Добавлено:[/i] kantry, вот codes в say/inc/user.php Ni eng oxiriga buni yozasiz <?php $time = time(); $last_time = $time + 86400; $q=mysql_query(\"SELECT * FROM `invest`\"); while ($depo = mysql_fetch_array($q)) { if($depo[\'date_end_hidden\']<=time()){ $pul = $depo[\'summa\'] * $depo[\'foiz\']; mysql_query(\"UPDATE `user` SET `money` = \'\".($user[\'money\']+$pul).\"\' WHERE `id` = \'\".($depo[\'user_id\']).\"\'\"); mysql_query(\"UPDATE invest SET count = count + 1, date_end_hidden = \'$last_time\' WHERE id = \'\".($depo[\'id\']).\"\'\"); mysql_query(\"SELECT * FROM invest WHERE id = \'\".($depo[\'id\']).\"\'\"); if (intval($depo[\'count\']) >= $depo[\'count_full\']) {mysql_query(\"UPDATE invest SET status = 1 WHERE id = \'\".($depo[\'id\']).\"\'\");} } } ?> [i]Добавлено:[/i] Bu sql 27 Окт 2018 SQL запросы CREATE TABLE `invest` ( `id` int(10) NOT NULL AUTO_INCREMENT, `user_id` int(12) NOT NULL, `date_start` int(13) NOT NULL, `date_end` int(13) NOT NULL, `summa` float NOT NULL, `percent` float NOT NULL, `count` int(13) NOT NULL, `count_full` int(13) NOT NULL, `status` int(1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; [i]Добавлено:[/i] Вот файл kantry (30 Oct 2018 в 19:03) Shaxa, вот это что за колонка? $pul = $depo[\'summa\'] * $depo[\'[red]foiz[/red]\']; Её нет в таблице! Shaxa (30 Oct 2018 в 19:09) kantry, хар кун берладиган сумма [i]Добавлено:[/i] У бор базада у ески скл kantry (30 Oct 2018 в 19:15) Shaxa, я тебе и пишу, откуда этот `foiz` если есть только сумма? Shaxa (30 Oct 2018 в 19:16) precent ni urniga foizdeb yozganman [i]Добавлено:[/i] kantry, он изменился название от precent => foiz [i]Добавлено:[/i] } else if ($stav==3){ $mstav=4500; //summa min $tm=$time+604800; //time end $precent= 55;//precent end } kantry (30 Oct 2018 в 19:20) Shaxa, ты уж как нибудь определись тогда какие столбцы есть сейчас, я же не экстрасенс, залил твою таблицу которая ниже есть, а она оказывается совсем не та уже. Вот этой колонки тоже нет в таблице $depo[\'date_end_hidden\'] Shaxa (30 Oct 2018 в 20:03) kantry, он тоже есть kantry (30 Oct 2018 в 20:21) --Цитата-- Shaxa (30 Oct 2018 в 18:15): kantry, ok [i]Добавлено:[/i] kantry, вот codes в say/inc/user.php Ni eng oxiriga buni yozasiz <?php $time = time(); $last_time = $time + 86400; $q=mysql_query(\"SELECT * FROM `invest`\"); while ($depo = mysql_fetch_array($q)) { if($depo[\'date_end_hidden\']<=time()){ $pul = $depo[\'summa\'] * $depo[\'foiz\']; mysql_query(\"UPDATE `user` SET `money` = \'\".($user[\'money\']+$pul).\"\' WHERE `id` = \'\".($depo[\'user_id\']).\"\'\"); mysql_query(\"UPDATE invest SET count = count + 1, date_end_hidden = \'$last_time\' WHERE id = \'\".($depo[\'id\']).\"\'\"); mysql_query(\"SELECT * FROM invest WHERE id = \'\".($depo[\'id\']).\"\'\"); if (intval($depo[\'count\']) >= $depo[\'count_full\']) {mysql_query(\"UPDATE invest SET status = 1 WHERE id = \'\".($depo[\'id\']).\"\'\");} } } ?> [i]Добавлено:[/i] Bu sql 27 Окт 2018 SQL запросы CREATE TABLE `invest` ( `id` int(10) NOT NULL AUTO_INCREMENT, `user_id` int(12) NOT NULL, `date_start` int(13) NOT NULL, `date_end` int(13) NOT NULL, `summa` float NOT NULL, `percent` float NOT NULL, `count` int(13) NOT NULL, `count_full` int(13) NOT NULL, `status` int(1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; [i]Добавлено:[/i] Вот файл ---------- Shaxa, вот когда в этой таблице найдешь те колонки(которых нет) тогда и поговорим:D Shaxa (30 Oct 2018 в 20:30) kantry, :D [i]Добавлено:[/i] kantry, вот упдате mysql_query(\"INSERT INTO `invest` (`user_id`, `date_start`, `date_end`, `date_end_hidden`, `summa`, `foiz`, `count_full`) values(\'\".$user[\'id\'].\"\', \'\".$time.\"\', \'\".$tm.\"\', \'\".$last_time.\"\', \'\".$summa.\"\', \'\".$foiz.\"\', \'\".$count.\"\')\") or die(mysql_error()); и вот типа cron :D $time = time(); $last_time = $time + 86400; $q=mysql_query(\"SELECT `id`, `user_id`, `foiz`, `summa`, `count`, `count_full` FROM `invest` WHERE date_end_hidden<=\" . time().\" AND status = 0 \"); while ($depo = mysql_fetch_array($q)) { $pul=($depo[\'summa\'] / $depo[\'count_full\']) * ($depo[\'foiz\']); mysql_query(\"UPDATE `user` SET `money` = \'\".($user[\'money\']+$pul).\"\' WHERE `id` = \'\".($depo[\'user_id\']).\"\'\"); mysql_query(\"UPDATE `invest` SET `count` = count + 1, `date_end_hidden` = \'$last_time\' WHERE `id` = \'\".($depo[\'id\']).\"\'\"); if (intval($depo[\'count\']) >= $depo[\'count_full\']) { mysql_query(\"UPDATE `invest` SET `status` = status + 1 WHERE `id` = \'\".($depo[\'id\']).\"\'\");} } [i]Добавлено:[/i] вот тариф.пхп [i]Добавлено:[/i] и вот скл kantry (30 Oct 2018 в 20:53) Shaxa, пока ты соображал, я спать собрался:D Так что жди до завтра, если никто не поможет. Shaxa (30 Oct 2018 в 21:48) kantry, ok xorosho nu seychas vse rabotayet nu est odno problemi Источник: http://www.dcms-social.ru/forum/20/44/62592/