websitebuilder Posted July 7, 2014 Share Posted July 7, 2014 Hi guys, Not sure if this is possible but thought if it was, someone here would know. Is it possible so that when a customer makes a purchase on my Prestashop website, that the system would update a CSV file? In short, I would like a CSV file that shows the number of orders placed in that day and then to keep an on going track as and when it happens automatically? If it helps, I am trying to link some key metrics from my Prestashop website into Cyfe. Thanks in advance. Link to comment Share on other sites More sharing options...
prestatent Posted July 7, 2014 Share Posted July 7, 2014 Hi Funnily enough we were talking about this today in order to load orders into our warehousing system. My thoughts are that you would want to create a batch type program/process that is scheduled to run via crontab at determined times. This batch program would read the orders table and output to a csv file taking care not to output any orders that have been output previously. In theory this should be fairly simple. If on the other hand you wanted to write to the CSV file as soon as an order was placed, you would probably have to create an override for the code that creates the order. Cheers. Link to comment Share on other sites More sharing options...
websitebuilder Posted July 7, 2014 Author Share Posted July 7, 2014 Okay, I have managed to write a php script that should pull data from the MySQL database. In essence its for a Cyfe widget that I want to be able to display the number of orders on each day. I have the following so far however it isn't pulling data through, it says 0 for every day and thats not right. Can you help? <?PHP // Connect to the data source $db_user = "xxxxx"; $db_password = "xxxxx"; $db_database = "xxxxx"; $db_server = "xxxxx"; mysql_connect($db_server, $db_user, $db_password); @mysql_select_db($db_database) or die( "Unable to select database"); $query = "SELECT date_add, COUNT(*) as count FROM id_shop GROUP BY date_add ORDER BY date_add ASC"; $result = mysql_query($query); $incoming_data = array(); while($row = mysql_fetch_array($result)) $incoming_data[str_replace('-', '', $row['date_add'])] = $row['count']; // Load up the data into an array as follows $data = array(); $data[] = 'Date,Orders'; if(count($incoming_data) > 0) { for($i=29; $i>=0; $i--) { $date = date('Ymd', strtotime('-'.$i.' day')); if(array_key_exists($date, $incoming_data)) $data[] = $date.','.$incoming_data[$date]; else $data[] = $date.',0'; } } $data[] = 'Color,#ff7f00'; // Output the data as follows echo implode("\n", $data); ?> Link to comment Share on other sites More sharing options...
prestatent Posted July 8, 2014 Share Posted July 8, 2014 Morning Don't know Cyfe at all so don't how to integrate data into it. However, looking at your code above, you would want to pull your data from your PS_ORDERS table so your query would be: SELECT date_add, COUNT( * ) AS count FROM ps_orders GROUP BY date_add ORDER BY date_add ASC This should give you data out. If you have access to PHPMyAdmin you will be able to run the query and see your output. Cheers Link to comment Share on other sites More sharing options...
Guest Posted May 2, 2015 Share Posted May 2, 2015 (edited) Hi websitebuilder, Did you ever have any luck getting this working? I'm looking into doing something similar and would love to get your input. Edited May 2, 2015 by Guest (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now