Jump to content

Archived

This topic is now archived and is closed to further replies.

bios

Need help selecting a MySQL table from today's date.

Recommended Posts

Basically what I want to do is extract todays orders from a online store.

 

$select = \"SELECT * FROM orders\";

 

But I only want it to extract todays date from my orders, or maybe orders with a status of pending or the number 3.

 

My colum for date purchaced is named: date_purchased and it formats the date and time like this: 10/29/2003 9:28:16 PM. I want all with the date of today to be downloaded.

 

My colum for orders status is named: orders_status and it formats the status by using a number: 1,2,3. I also want to have all with a status of 1 to be downloaded.

 

Can anyone help me with this code?

Share this post


Link to post
Share on other sites

my whole code is this:

 

 

<?php

/********************************************

This code will extract the data from your table and format

it for an excel spreadsheet download. It is very quick,

simple, and to the point. If you only want to extract 

certain fields and not the whole table, simply replace

the * in the $select variable with the fields you want

to extract.

/********************************************/



// Include Server parameters

require(\'includes/configure.php\');



define(db_link, mysql_connect(DB_SERVER,DB_SERVER_USERNAME,DB_SERVER_PASSWORD));

mysql_select_db(DB_DATABASE);



//Write the query, call it, and find the number of fields

$select = "SELECT * FROM orders";

$export = mysql_query($select);

$count = mysql_num_fields($export);



//Extract field names and write them to the $header variable

for ($i = 0; $i < $count; $i++) {

$header .= mysql_field_name($export, $i)."t";

}



// Extract all data, format it, and assign to the $data variable

while($row = mysql_fetch_row($export)) {

$line = \'\';

foreach($row as $value) {          	

 if ((!isset($value)) OR ($value == "")) {

 	$value = "t";

 } else {

 	$value = str_replace(\'"\', \'""\', $value);

 	$value = \'"\' . $value . \'"\' . "t";

 }

 $line .= $value;

}

$data .= trim($line)."n";

}

$data = str_replace("r", "", $data);



//Set the default message for zero records

if ($data == "") {

$data = "n(0) Records Found!n";      

}



//Set the automatic download section

header("Content-type: application/octet-stream");

header("Content-Disposition: attachment; filename=orders.xls");

header("Pragma: no-cache");

header("Expires: 0");

print "$headern$data";

?>

Share this post


Link to post
Share on other sites

It sound like you need a where clause on your query

Your query should be something like this:


$select  = "SELECT * FROM orders";

$select .= " where orders_status = 1";

$select .= " and DATE(date_purchased) = DATE(sysdate())";

 

The DATE returns only the current date and not the time, so the query will return all records that were created today and have a status of 1

Share this post


Link to post
Share on other sites

thanks i actually got it working yesterday, but now i do need help selecting the file off the harddrive and inserting this it back into the database and updating the order status.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.