Нужна помощь Помогите составить правильно запрос к бд

StalkerNSK

Участник
Сообщения
102
Реакции
18
Итак, имеется в наличии БД "tb_history" и поля "id,user,date,amount,method,status". Запрос к базе данных вот такой: <tr><td class="left" width="50%">Выплачено за 24 часа</td><td class="left"><?$r=mysql_fetch_assoc(mysql_query("SELECT sum(amount) as summa FROM tb_history ")); echo round($r["summa"],2);?> руб.</td></tr>
Подскажите, что нужно исправить, чтобы считал за 24 часа, а не выплаты за все время.
id-(порядковый номер);
user-(id пользователя);
date-(22-07-2016);
amount-(сумма);
method-(WebMoney);
status - (Выплата сделана)
 

APTEMOH

Участник
Сообщения
895
Реакции
258
Telegram
APTEMOH
PHP:
$dt = time() - 60*60*24; # где 24 - это 24 часа = 1 сутки
#запрос к базе
"SELECT sum(amount) as summa FROM tb_history  WHERE date > $dt"
 

StalkerNSK

Участник
Сообщения
102
Реакции
18
Покажи как это выглядит в коде, у меня выходит ноль, а выплаты сегодня были.
 

StalkerNSK

Участник
Сообщения
102
Реакции
18
date-(22-07-2016);
а вот и сам
<?include('header.php');?>
<div class=b1 style="padding: 5px;"><span id=wtl></span><span id=wt></span><span id=wtr></span><span id=wl></span><span id=wr></span><span id=wbl></span><span id=wb></span><span id=wbr></span>
<h5>Полная статистика сайта</h5>
<center>
<SCRIPT language=JavaScript>
firstDay = new Date('May 27, 2016');
nowDay = new Date();
daysQty = (nowDay.getTime() - firstDay.getTime()) / (1000*60*60*24);
document.write('Проекту пошел ' + Math.round(daysQty) + '-й день.');
</SCRIPT>
<table class="tables" border="0" cellpadding="0" cellspacing="1" width="100%">
<thead><tr><th align="center" nowrap="nowrap" width="50%">Параметр</th><th align="center" nowrap="nowrap" width="50%" >Значение</th></tr></thead>
<tbody>
<tr><td colspan="2" align="center" style="background: #ffffdd; border-left: 1px solid #ddd; color: #CF580A;">Общая нформация о проекте</td></tr>
<tr><td class="left" width="50%">Название проекта</td><td class="left"><?echo mysql_result(mysql_query("SELECT sitename FROM tb_site WHERE id='1'"),0,0);?></td></tr>
<tr><td class="left" width="50%">Открытие проекта</td><td class="left"><?echo mysql_result(mysql_query("SELECT startdate FROM tb_site WHERE id='1'"),0,0);?></td></tr>
<tr><td class="left" width="50%">Всего пользователей</td><td class="left"><?echo mysql_num_rows(mysql_query("SELECT id FROM tb_users"))+115;?></td></tr>
<tr><td class="left" width="50%">Новых за 24 часа</font></td><td class="left"><?echo mysql_num_rows(mysql_query("SELECT id FROM tb_users WHERE joindate='".date("d.m.Y")."'"))+5;?><a href="register_today.php"></a></td></tr>
<tr><td colspan="2" align="center" style="background: #ffffdd; border-left: 1px solid #ddd; color: #CF580A;">Заработок на проекте</td></tr>
<tr><td class="left" width="50%">Серфинг</td><td class="left">от <?echo mysql_result(mysql_query("SELECT 20sec FROM sfb_sho WHERE id='1'"),0,0);?> до от <?echo mysql_result(mysql_query("SELECT 60sec FROM sfb_sho WHERE id='1'"),0,0);?></td></tr>
<tr><td class="left" width="50%">Задания</td><td class="left">от <?echo mysql_result(mysql_query("SELECT price FROM tb_config WHERE item='mintask'"),0,0);?></td></tr>
<tr><td class="left" width="50%">Письма</td><td class="left">от <?echo mysql_result(mysql_query("SELECT price FROM tb_config WHERE item='mpay'"),0);?></td></tr>
<?
$res = mysql_query("SELECT COUNT(*) FROM tb_ads WHERE paused=0 and balance>payforad and (timer='0' or timer='1' or timer='2' or timer='3' or timer='4' or timer='5' or timer='6' or timer='7') ");
$row = mysql_fetch_row($res);
$serfall = $row['0']; // всего сёрфинга
?>
<tr><td colspan="2" align="center" style="background: #ffffdd; border-left: 1px solid #ddd; color: #CF580A;">Доступно для заработка</td></tr>
<tr><td class="left" width="50%">Доступно серфинга</td><td class="left"><? echo $row['0'];?> - ссылок</td></tr>
<?
$res = mysql_query("SELECT COUNT(*) FROM seo_paymails WHERE paused=0 and balance>0.50 ");
$row = mysql_fetch_row($res);
$mailall = $row['0']; // всего писем
?>
<tr><td class="left" width="50%">Доступно писем</td><td class="left"><? echo $row['0'];?> - ссылок</td></tr>
<?
$res = mysql_query("SELECT COUNT(*) FROM tb_task_w WHERE status=1 and balans>0.20 ");
$row = mysql_fetch_row($res);
$taskall = $row['0']; // всего заданий
?>
<tr><td class="left" width="50%">Доступно заданий</td><td class="left"><? echo $row['0'];?> - шт.</td></tr>
<?
$sql="select sum(money) from tb_users";
$pes=mysql_query($sql);
$deneg=mysql_result($pes,0,0);
$denegna=round($deneg,2);
?>
<tr><td class="left" width="50%">На балансах у пользователей</td><td class="left"><? echo $denegna;?> Руб.</td></tr>
<tr><td colspan="2" align="center" style="background: #ffffdd; border-left: 1px solid #ddd; color: #CF580A;">Доход от рефералов 1 уровня</td></tr>
<tr><td class="left" width="50%">Серфинг</td><td class="left">от 5% до 50%</td></tr>
<tr><td class="left" width="50%">Задания</td><td class="left">от 1% до 3%</td></tr>
<tr><td class="left" width="50%">Письма</td><td class="left">от 5% до 50%</td></tr>
<tr><td colspan="2" align="center" style="background: #ffffdd; border-left: 1px solid #ddd; color: #CF580A;">Доход от рефералов 2 уровня</td></tr>
<tr><td class="left" width="50%">Серфинг</td><td class="left">от 3% до 4%</td></tr>
<tr><td class="left" width="50%">Задания</td><td class="left">от 3% до 4%</td></tr>
<tr><td class="left" width="50%">Письма</td><td class="left">от 3% до 4%</td></tr>
<tr><td colspan="2" align="center" style="background: #ffffdd; border-left: 1px solid #ddd; color: #CF580A;">Выплаты на проекте</td></tr>
<tr><td class="left" width="50%">Валюта для выплат</td><td class="left">RUB</td></tr>
<tr><td class="left" width="50%">Платежная система</td><td class="left"> WebMoney </td></tr>
<tr><td class="left" width="50%">Авто-выплаты</td><td class="left"><?$xx=mysql_result(mysql_query("SELECT x2 FROM tb_site WHERE id='1'"),0,0); if($xx==0){echo "Нет";}else{echo "Да";}?></td></tr>
<tr><td class="left" width="50%">Минимум к выплате</td><td class="left"><?echo mysql_result(mysql_query("SELECT price FROM tb_config WHERE item='payment'"),0,0);?> руб.</td></tr>
<tr><td class="left" width="50%">Комиссия сайта</td><td class="left">Нет</td></tr>
<tr><td class="left" width="50%">Выплачено за 24 часа</td><td class="left"><?$dt = time() - 60*60*24;$r=mysql_fetch_assoc(mysql_query("SELECT sum(amount) as summa FROM tb_history WHERE date > $dt")); echo round($r["summa"],2);?> руб.</td></tr>
<tr><td class="left" width="50%">Всего выплачено</td><td class="left"><?$r=mysql_fetch_assoc(mysql_query("SELECT sum(amount) as summa FROM tb_history ")); echo round($r["summa"],2)+754;?> руб.</td></tr>
<tr><td class="left" width="50%">Количество выплат</td><td class="left"><?echo mysql_num_rows(mysql_query("SELECT id FROM tb_history"))+375;?></td></tr>
<tr><td colspan="2" align="center" style="background: #ffffdd; border-left: 1px solid #ddd; color: #CF580A;">Реклама на проекте</td></tr>
<tr><td class="left" width="50%">Авто-размещение рекламы</td><td class="left">Да</td></tr>
<tr><td class="left" width="50%">Оплата рекламы</td><td class="left">WebMoney, RoboKassa</td></tr>
</tbody></table>
</center>
</div>
<? include('footer.php'); ?>
я вверху писал.
 

APTEMOH

Участник
Сообщения
895
Реакции
258
Telegram
APTEMOH
По коду все верно, нужно смотреть в базе тип поля date. Потом исходя из этого делать выборку по времени.
 

StalkerNSK

Участник
Сообщения
102
Реакции
18
date-(22-07-2016);
Может как то ее по другому записывать в базу, не в формате "d-m-Y"
 

StalkerNSK

Участник
Сообщения
102
Реакции
18
Проблема решилась, код выглядит так: <tr><td class="left" width="50%">Выплачено за 24 часа</td><td class="left"><?$r=mysql_fetch_assoc(mysql_query("SELECT sum(amount) as summa FROM tb_history WHERE date='".date("d-m-Y")."'")); echo round($r["summa"],2);?> руб.</td></tr>
Тему можно закрыть.
 

nikitin2016

Участник
Сообщения
228
Реакции
12
date-(22-07-2016);
Может как то ее по другому записывать в базу, не в формате "d-m-Y"
"d-m-Y" буквы меняешь с больших на мелкие и наоборот и дата немного меняется допустим месяц можно прописать как словом так и числом с датами дней и годом тоже самое , как пример : "D-M-y" , я себе такое реализовал - прикольно получилось !
 

APTEMOH

Участник
Сообщения
895
Реакции
258
Telegram
APTEMOH
Проблема решилась, код выглядит так: <tr><td class="left" width="50%">Выплачено за 24 часа</td><td class="left"><?$r=mysql_fetch_assoc(mysql_query("SELECT sum(amount) as summa FROM tb_history WHERE date='".date("d-m-Y")."'")); echo round($r["summa"],2);?> руб.</td></tr>
Тему можно закрыть.
Отлично!

Я так и предполагал, что поле в базе имеет тип Timestamp. Ну теперь и вы будите знать.

Но в запросе выводите где время равно сейчас. Вам нужно приплюсовать 24 часа, тогда будет за сутки. Timestamp это UNIX формат.
 

StalkerNSK

Участник
Сообщения
102
Реакции
18
вчера сутки закончились, сумма стала ровна нулю, это после 12 ночи. А не сочтите за наглость посмотреть
<? include('checkcookie.php'); ?>
<h3>Запросы на выплату</h3>
<br>

<?

if(isset($_POST["user"]))
{
$useru=$_POST["user"];
$money=$_POST["money"];
$delwaitid=$_POST["id"];
mysql_query("UPDATE tb_users SET money=money+'$money' WHERE id='$useru'");
mysql_query("DELETE FROM tb_payme WHERE id='$delwaitid'");
echo "<b><font color=green>Средства возвращены в аккаунт пользователю $useru</font></b>";
}
if (isset($_GET["id"]))
{

$id=$_GET["id"];
$option=$_GET["option"];

if ($option=="paid")
{

$usr=$_POST["usr"];

$tablae = mysql_query("SELECT * FROM tb_users where id='$usr'");
$registroe = mysql_fetch_array($tablae);

$money=$_POST["money"];

$paid=$registroe["paid"];
$paid=$paid+$money;

$query = "UPDATE tb_users SET paid='$paid' where id='$usr'";
mysql_query($query) or die(mysql_error()); $nowtime=time();
$title="Выплата WebMoney на сумму $money рублей пользователю ID: $usr" ;
mysql_query("InSERT InTO tb_allhistory (idus,data,doing,title) values ('$registroe[id]','$nowtime','5','$title')");

$eltiempo=time();
$lafecha=date("d-m-Y",$eltiempo);

$query = "INSERT INTO tb_history (user, date, amount, method, status) VALUES('$usr','$lafecha','$money','WebMoney','Выплата сделана')";
mysql_query($query) or die(mysql_error());

$queryz = "DELETE FROM tb_payme WHERE id='$id'";
mysql_query($queryz) or die(mysql_error());

echo "<font color=\"red\"><b>Готово</b></font><br><br>";

}

if ($option=="del")
{
$queryz = "DELETE FROM tb_payme WHERE id='$id'";
mysql_query($queryz) or die(mysql_error());

echo "<font color=\"red\"><b>Удалено</b></font><br><br>";
}

}

?>

После оплаты отметить оплачено.
<br><br>
<table class="adn">
<tr class="lineb">
<td width=50 align=center>№</td>
<td width=200 align=center>Имя</td>
<td align=center>WMR</td>
<td align=center>LP</td>
<td width=100 align=center>Объем оплаты</td>
<td align=center>Ip</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>

<?
$res=mysql_query("select sitename, comment from tb_site where id='1'");
$res=mysql_fetch_array($res);
$sitename=$res["sitename"];
$comment=$res["comment"];
$comment=str_ireplace(":sitename:",$sitename,$comment);

$tabla = mysql_query("SELECT * FROM tb_payme ORDER BY id ASC");
while ($registro = mysql_fetch_array($tabla)) {

echo "
<tr class='liney ell'>
<td width=50 align=center>". $registro["id"] ."</td>
<td width=200 align=center>". $registro["username"] ."</td>
<td align=center>". $registro["pemail"] ."</td>
<td align=center>". $registro["liqpay"] ."</td>
<td width=100 align=center>". $registro["money"] ."</td>
<td align=center>". $registro["ip"] ."</td>";
$text=str_ireplace(":username:",$registro["username"],$comment);


?>
<td><a href='wmk:payto?Purse=<?= $registro["pemail"] ?>&Amount=<?= $registro["money"] ?>&Desc=<?=$text ?>&BringToFront=Y'><b>Оплатить Клики&nbsp;</b></a></td>
<td>
<form method="post" action="adminmain.php?p=reqpay&id=<?= $registro["id"] ?>&option=paid">
<input type="hidden" name="money" value="<?= $registro["money"] ?>">
<input type="hidden" name="usr" value="<?= $registro["username"] ?>">
<input type="submit" value="Оплачено" class="button">
</form>
</td>
<td>
<form method="post" action="adminmain.php?p=reqpay&id=<?= $registro["id"] ?>&option=del">
<input type="submit" value="Удалить" class="button">
</form>
</td>
<td>
<form action="" method="POST">
<input type="hidden" name="user" value="<?=$registro["username"]; ?>">
<input type="hidden" name="money" value="<?=$registro["money"]; ?>">
<input type="hidden" name="id" value="<?=$registro["id"]; ?>">
<input type="submit" value="Вернуть средства"></form>
</td>
</tr>

<?

}

?>
</table>
можно вылечить ?

Вот эту строчку $title="Выплата WebMoney на сумму $money рублей пользователю ID: $usr" ; вместо ID пользователя нужен его логин
в системе.
Пробовал вот так Выплата WebMoney на сумму $money рублей пользователю - $useru;
получается вот так Выплата WebMoney на сумму $money рублей пользователю -
 
Сверху