Jump to content

Recommended Posts

Hi all,

I'm having an issue pulling up a print report(csv file) when the new year started. I didn't write the code but I need help in fixing it. I know its a simple fix of 2-3 lines at the most.

 

This is what the code currently looks like.

 

//get last month for the filenames

$lastMonth = sprintf("%02d", date("m") - 1);

$thisYear = date("Y");

$fileLastMonth = $thisYear . $lastMonth;

 

$filename[0] = "HP/HPUsage" . $fileLastMonth . ".csv";

$filename[1] = "Lexmark/Room10/mfpUsage_192.168.1.46_" . $fileLastMonth . ".csv";

$friendlyName[1] = "Lexmark Rm 10";

$filename[2] = "Lexmark/Room19/mfpUsage_192.168.2.12_" . $fileLastMonth . ".csv";

$friendlyName[2] = "Lexmark Rm 19";

$filename[3] = "Lexmark/Room29/mfpUsage_192.168.1.32_" . $fileLastMonth . ".csv";

$friendlyName[3] = "Lexmark Rm 29";

$filename[4] = "Lexmark/Room31/mfpUsage_192.168.1.47_" . $fileLastMonth . ".csv";

$friendlyName[4] = "Lexmark Rm 44";

$filename[5] = "Sharp/Sharp_MX-M550N" . $fileLastMonth . ".csv";

$friendlyName[5] = "Sharp Mail Room";

echo "done<br />";

//enumerate the files to read

$y = 5;

$friendly = 1;

 

//pull last month and year

$tablename = date("FY",mktime(0, 0, 0, date("m")-1, date("d"),  date("Y")));

 

I understand its not able to pull "thisYear" because its 2010 and its not looking for last year. I also understand that it doesn't understand the last month is 12/2009 since its now January 2010. Any assistance in fixing this issue permanently would be much appreciated. If I need to post the entire php file, I will but I'm pretty sure the issue lies in these 2-3 lines of code.

Replace these lines

//get last month for the filenames
$lastMonth = sprintf("%02d", date("m") - 1);
$thisYear = date("Y");
$fileLastMonth = $thisYear . $lastMonth;

 

With these lines

//get last month for the filenames
$fileLastMonth =  date("Ym", strtotime("last month"));

What would I change the "last month" text to?

 

Also I found another line of code that's directly related to the function mentioned previously.

 

//pull last month and year

$tablename = date("FY",mktime(0, 0, 0, date("m")-1, date("d"),  date("Y")));

 

 

What would I change the "last month" text to?

 

Why would you change it? The strtotime() function will "Parse about any English textual datetime description into a Unix timestamp". So, when it uses "last month" it will literally return a timestamp for last month. And, that is what you want, right?

 

Also I found another line of code that's directly related to the function mentioned previously.

 

//pull last month and year

$tablename = date("FY", strtotime("last month"));

 

That must be some really FooBar code if it is creating a different datbase tabe for each month of records.

 

This should work fo rthat line:

 

$tablename = date("FY",mktime(0, 0, 0, date("m")-1, date("d"),   date("Y")));

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.