2013-06-12 2 views
0

У меня есть следующий код, который подсчитывает количество сообщений, отправляемых каждый месяц. Можно ли это изменить ежедневно? Я пробовал ряд изменений, но они не были успешными. Какие-либо предложения? Огромное спасибо заранее! Я довольно новичок в PHP/MySQL. Кроме того, я знаю, что текущий запрос MySQL осуждается !:Измените это значение с каждого месяца на каждый день?

$vmYear = date("Y"); 
$vmMonth = date("m"); 

$vmfromdate = mktime(0,0,0,$vmMonth,"1",$vmYear); 
$vmtodate = mktime(0,0,0,$vmMonth,"31",$vmYear); 

$verifmessagespermonth = mysql_query("SELECT ID FROM messages WHERE msg_from = '$session_memberid' AND (time BETWEEN '$vmfromdate' AND '$vmtodate')"); 
$nummessagesthismonth = mysql_num_rows($verifmessagespermonth); 
} else { 
$nummessagesthismonth = 0; 
} 
+0

Что такое схема таблицы? – hjpotter92

ответ

0

Если я правильно понял требования вы можете использовать этот запрос:

SELECT 
    ID 
FROM 
    messages 
WHERE 
    msg_from = '$session_memberid' 
    AND time BETWEEN 
    DATE_FORMAT(NOW() , '%Y-%m-%d 00:00:00') 
    AND DATE_FORMAT(NOW() , '%Y-%m-%d 23:59:59') 
2

Сохраняя Int в одной и той же структуры, как у вас есть, путем добавления в день (при условии, что вы храните только дату). Если вы сохраняете дату + время, возможно, потребуется изменить 0,0,0 от $vmtodate к 23,59,59

$vmYear = date("Y"); 
$vmMonth = date("m"); 
$vmDay = date("d"); 

$vmfromdate = mktime(0,0,0,$vmMonth,$vmDay,$vmYear); 
$vmtodate = mktime(0,0,0,$vmMonth,$vmDay,$vmYear); 

Это все еще позволяет делать другие диапазоны, если вы хотите

Смежные вопросы