purefusion Posted October 4, 2006 Posted October 4, 2006 I was looking through the SQL that lists customers in the admin panel and it's a mess. Looks like there are tons of nested SQL calls. How can I sort the customers by registration date, newest to oldest, without breaking that section of the admin panel? Thanks a ton!
♥Monika in Germany Posted October 4, 2006 Posted October 4, 2006 I was looking through the SQL that lists customers in the admin panel and it's a mess. Looks like there are tons of nested SQL calls. How can I sort the customers by registration date, newest to oldest, without breaking that section of the admin panel? Thanks a ton! the info you need is in a different table and the current setup has the selection separated into 2 queries ... you need to join them to be one query, then you can sort. Take care to do the same for the upper search query!! <?php $search = ''; if (isset($HTTP_GET_VARS['search']) && tep_not_null($HTTP_GET_VARS['search'])) { $keywords = tep_db_input(tep_db_prepare_input($HTTP_GET_VARS['search'])); $search = "where c.customers_lastname like '%" . $keywords . "%' or c.customers_firstname like '%" . $keywords . "%' or c.customers_email_address like '%" . $keywords . "%'"; } $customers_query_raw = "select c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_email_address, a.entry_country_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_id = a.customers_id and c.customers_default_address_id = a.address_book_id " . $search . " order by c.customers_lastname, c.customers_firstname"; $customers_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $customers_query_raw, $customers_query_numrows); $customers_query = tep_db_query($customers_query_raw); while ($customers = tep_db_fetch_array($customers_query)) { $info_query = tep_db_query("select customers_info_date_account_created as date_account_created, customers_info_date_account_last_modified as date_account_last_modified, customers_info_date_of_last_logon as date_last_logon, customers_info_number_of_logons as number_of_logons from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . $customers['customers_id'] . "'"); $info = tep_db_fetch_array($info_query); :-) Monika addicted to writing code ... can't get enough of databases either, LOL! my toolbox: Textpad - Compare and Merge - phpMyAdmin - WS_FTP - Photoshop - How to search the forum Interactive Media Award July 2007 ~ category E-Commerce my advice on the forum is for free, PMs where you send me work are considered consultation which I charge for ...
purefusion Posted October 4, 2006 Author Posted October 4, 2006 That's what I'm afraid to do. Joins aren't my strong suite, and I fear for messing something up. Frankly, OSC's coding scares me :D
purefusion Posted October 4, 2006 Author Posted October 4, 2006 I got the query fixed up, just trying to restructure the calls to $info_query to be $customers_query_raw calls So hectic!
Recommended Posts
Archived
This topic is now archived and is closed to further replies.