Jump to content

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


bios

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?

Link to comment
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";

?>

Link to comment
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

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

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.