Hi,
I would like a web-based program that would allow me to upload different price lists into a mysql database and then compare them in different ways.(described below).
This is how it should function:
a) I would like a table with the following structure (let's call it uploaded_prices)
ID | PRICE_LIST_ID | DESTINATION | PREFIX | PRICE | DATE_START | DATE_END | ADDED | COMPANY
You would need to make a PHP page to upload a CSV file into this table. Let's call it '[login to view URL]'.
The file structure can be one of the following:
1. DESTINATION,PREFIX,PRICE
2. PREFIX,DESTINATION,PRICE
3. DESTINATION,PREFIX,PRICE,DATE_START,DATE_END
4. PREFIX,DESTINATION,DATE_START,DATE_END
5. DESTINATION,PREFIX,PRICE,DATE_START
6. PREFIX,DESTINATION,PRICE,DATE_START
Therefore, you would need to create in this '[login to view URL]' page a way to specify which field is which , before clicking the upload button.
You would also be able to specify which company that file belongs to, and , if company has already been added in the db previously, let the user see/select that.
Randomly generate the PRICE_LIST_ID
b) I would like a '[login to view URL]' file where in the header you would see the result of the following query:
"SELECT * FROM uploaded_prices GROUP BY PRICE_LIST_ID"
Which would be (let's say -- for a table containing 100 uploaded CSV files -- a list of 100 IDs ).
Allow user to select any of the entries in the above listing, and compare those listings as follows:
--- Compare them by prefix and price, knowing the following case scenarios:
CASE 1:
- LIST "A" has a prefix 40341 and a listed price of 0.5
- LIST "B" has a prefix 403 and a listed price of 0.3
- LIST "B" has a prefix 40341 and a listed price of 0.6
Desired output: show LIST "A" price as the lowest price for that destination (color it with GREEN color) , LIST "B" as higher (color it with RED color)
CASE 2:
- LIST "A" has a prefix 40341 and a listed price of 0.5
- LIST "C" has a prefix 403 and a listed price of 0.3
- LIST "C" has NO prefix 40341
Desired output : show LIST C as the lowest price for that destination (color it with GREEN), LIST "A" as higher (color "RED")
CASE 3:
- LIST "A" has a prefix 40341 and a listed price of 0.5
- LIST "D" has a prefix 40341 and a listed price of 0.3
Desired output: show list D as the lowest price for that destination (color it with green), list A as higher (color it with red)
Please note that the same applies for longer prefixes (such as 4034140040 vs 40341).
All the calculus you make should be optimized for big CSV files (over 200K results), so you might want to use indexes on your table, or other ways of optimizing selects and so on...
There's no need for username/password/etc
Feel free to create any other extra mysql tables if need be.
I have a lot of experience in php and mysql, including projects very similar to this one. This is an easy job for me. I can do it in two days, fully commented code and bug tested.
$50 USD in 2 Tagen
5,0 (1 Bewertung)
1,4
1,4
7 Freelancer bieten im Durchschnitt $85 USD für diesen Auftrag