This is a rather simple task to write a PHP class / function that will, by querying a MySQL database that is populated with data like the attached file, generate an HTML file similar to the attached sample.html. This [url removed, login to view] breaks out the data by keying on the searchengine and keyword fields in the table and compares the earliest run (in the sample data the 2-01-10 run) to the latest run. The class should have the option of outputting the HTML text to a string (for display), or saving to a file. Except for the data, the resulting HTML should be as near as possible to the attached [url removed, login to view] (no other changes). The Smarty library for PHP must be used for the HTML generation and most of the underlying HTML should be in a Smarty template
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
* * *This broadcast message was sent to all bidders on Thursday Mar 18, 2010 9:38:50 AM:
I want to confirm that this is purely for a report that drives off the data.
When summarizing the data at the top of the report (by search engine), the most recent record (based on the search engine and search term should be used to determine the count.
When breaking down by search engine, the most recent date records is compared against the oldest record for purposes of the change column. The mock data attached should, given this logic, provide results similar to the included sample html file.
* * *This broadcast message was sent to all bidders on Thursday Mar 18, 2010 9:42:32 AM:
The data has a few records with a ranking of "0". These records are ones in which the result was not found. If you look at the [url removed, login to view], you can see how these should be displayed. There are other records where the earlier one was 0, but the latest one was not. Note how the [url removed, login to view] reports these types.
As far as top 10, top 20, top30, if the rank is <= 10 it is in the top 10, if it <= 20 it is in the top 20, etc.
* * *This broadcast message was sent to all bidders on Friday Mar 19, 2010 9:46:58 AM:
One more clarification - the data included is a sample. Records are only added to the table, never are records altered. Therefore, to come up with some the calculations on the report, you would need to find the earliest date for a given search engine / keyword, and the latest date for a given search engine / keyword (for the purposes of the comparison in the search engine part of the report. The top summary only looks at the latest search engine / keyword record to determine if it is in the top 10, top 20, etc.