2016-07-19 8 views
0

Я создаю очень простое PHP-приложение, где они просто хотят перечислить свои текущие заказы (из базы данных SQL) и сделать несколько звонков, исходя из того, когда срок выполнения заказов ,Подсчет строк SQL на основе запроса даты

Я пытаюсь подсчитать все заказы в таблице, срок которых составляет менее 6 дней с момента ..., и я СТРУКТУАЛЬНО!

У меня есть отображение всех заказов в таблице, но я понятия не имею, как подойти к подсчету строк в зависимости от их даты.

order_duedate в формате даты.

Есть ли у кого-нибудь предложения?

Я довольно новый для вытягивать информацию из баз данных, так что это может быть довольно простым - Вот код, я использую:

<?php 

ob_start(); 
define('DB_SERVER', 'localhost'); 
define('DB_USERNAME', 'aaa'); 
define('DB_PASSWORD', 'aaa'); 
define('DB_DATABASE', 'aaa'); 
$connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die(mysql_error()); 
$database = mysql_select_db(DB_DATABASE) or die(mysql_error()); 

// TABLE ROWS AS FOLLOWS 
// order_no/order_client/order_duedate/order_status 


$table_all = "SELECT * FROM orders"; 
$table_all_data = mysql_query($table_all); 


// COUNT ORDERS THAT HAVE ORDER_DUEDATE < 6 DAYS FROM NOW 


?> 

<p>TOTAL OVERDUE ORDERS</p> 
<p><?php echo $total_overdue ?></p> 



<?php 
// DISPLAY COMPLETE TABLE OF DATA 
while($row = mysql_fetch_array($table_all_data)){ 
    // CHANGE FORMAT OF DATE 
    $reformat_duedate = $row['order_duedate']; 
    $phpdate = strtotime($reformat_duedate); 
    $newdate = date('d/m/Y', $phpdate); 

?> 

<tr> 
    <td><a href=""><?php echo $row['order_no'] ?></a></td> 
    <td class="alignleft"><?php echo $row['order_client'] ?></td> 
    <td><span class="date open"><?php echo $newdate ?></span></td> 
    <td class="alignleft"><?php echo $row['order_status'] ?></td> 
    <td>2</td> 
    <td><a href=""><i class="fa fa-pencil" aria-hidden="true"></i></a>&nbsp;&nbsp;&nbsp;<a href=""><i class="fa fa-times" aria-hidden="true"></i></a></td> 
</tr> 


<?php } 

mysql_close(); ?> 

Спасибо так много!

+0

http://stackoverflow.com/questions/7341658/selecting-the-last-7-days-from-now в-MySQL – Ghost

ответ

1
SELECT * 
FROM orders 
WHERE date_add(order_duedate, INTERVAL -6 DAY) < now() 
1

Вы можете попробовать SELECT * FROM orders WHERE order_duedate <= NOW() + INTERVAL 6 DAY

0

Выполнить другой запрос:

select count(*) from orders where order_duedate < CURDATE() + INTERVAL 6 DAY; 
Смежные вопросы