Jump to content


  • Posts

  • Joined

  • Last visited

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

2,480 profile views

mongoose00318's Achievements

Advanced Member

Advanced Member (4/5)




Community Answers

  1. I've trying something like this so far: $sql = ' SELECT a.id , a.order_id , a.job_number , a.line_item , a.insert_time , a.as400_ship_date FROM production_data_archive a LEFT JOIN production_data_archive b ON a.job_number = b.job_number AND a.line_item = b.line_item AND a.insert_time < b.insert_time WHERE b.job_number IS NULL AND a.as400_ship_date >= now()-interval 2 month AND a.as400_ship_date <= now() ORDER BY a.job_number, a.line_item '; $stmt = $pdo->query($sql); $data = $stmt->fetchAll(); $i = 0; $j = ''; $l = []; foreach ( $data as $k => $v ) { if( $v['job_number'] == $j ) { $l[] = $v['line_item']; } else { echo $j . ' : ' . count($l).'<br>'; $j = $v['job_number']; $l = Array(); } } Its not going great though.
  2. @BarandHey Barand, I was curious is there a way I can use this query but exclude any jobs that have more than one line item? For example, above you returned line_item A and B for job 22000412. So because that job has more than one line item I would not want it returned in the query. Hopefully I worded this well...
  3. Awesome. Thanks for the detailed explanation @gizmola Sorry aimed it at the wrong person! My bad!!!
  4. Awesome. Thanks for the detailed explanation @requinix I knew about it being Java based and was pretty sure it was a concern but just wanted to double-check. Thanks guys.
  5. I'm sure some of us here are aware of this current threat to Apache servers. I have a WAMP installation of Apache on a dedicated server with Windows 10. I've been trying to determine if my version of of WAMP has this logging module installed with no success so far; but still researching. Has anyone else started patching their servers or have any input/feedback to this vulnerability?
  6. Okay awesome man. I've been playing around with it and I am going to continue to. I love learning more about SQL. I have found there is so much I've done in PHP when it comes to data handling that could be handled all with a proper SQL statement. I just didn't have the knowledge I have now but I still have more to learn. I have two books on SQL that are helpful that I reference on a regular basis but sometimes I do get confused with combining certain parts of a SQL statement. I greatly appreciate all that you have taught me! Thank you!
  7. @BarandSorry for the late response man, I haven't had the time to get back to this project this week until now. Yea man, that works great! Can you explain a little more how the "HAVING COUNT(*) > 1" works in the first statement? I've always had trouble understanding how to properly use the count function in a SQL statement other than simple statements where all I'm doing is something like "SELECT COUNT(*).." to count rows, etc. I do understand the difference between a UNION and a JOIN...which is interesting because I really thought you were going to use a JOIN on the same table to accomplish this. Shows how much I know!
  8. @gizmola First off, thanks for the validation that this is a genuine and NORMAL part of server administration. Second, I totally agree AWStats is old and not to mention clunky. It really doesn't do what I want. I have looked into some alternatives before but none of the ones you mentioned ring a bell so I am definitely going to look into it. All around, hats off to you! Thanks for the detailed post and all of the information...I am going to do some digging into some of your suggestions!
  9. Here is my table structure: CREATE TABLE IF NOT EXISTS `production_data` ( `id` int(11) NOT NULL AUTO_INCREMENT, `job_number` int(8) NOT NULL, `enterprise` tinytext NOT NULL, `part_number` text NOT NULL, `description` text NOT NULL, `psm` tinytext NOT NULL, `qty` int(11) NOT NULL, `line_item` varchar(11) NOT NULL, `as400_ship_date` date DEFAULT NULL, `hold_reason` text NOT NULL DEFAULT '0', `hold_date` date DEFAULT NULL, `insert_time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT 'time order was inserted', PRIMARY KEY (`id`), KEY `job_line` (`job_number`,`line_item`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; COMMIT; And here is some sample data that matches what I am looking for: INSERT INTO `production_data` (`id`, `job_number`, `enterprise`, `part_number`, `description`, `psm`, `qty`, `line_item`, `as400_ship_date`, `hold_reason`, `hold_date`, `insert_time`) VALUES (22277, 23669401, 'BURGER', 'BK9009FM.20CLDWG', 'BURGER KING 9\'OAH CLEARNCE BAR WOODGRAIN||20/20 DESIGN WOOD GRAIN VINYL BOTH SIDES||DWG||DOES NOT INCLUDE ANCHOR BOLTS||', 'S', 1, 'D', '2021-11-22', '', '0000-00-00', '2021-07-14 11:35:27'), (22276, 23669401, 'BURGER', 'BK7010BA.OCUWG', 'BURGER KING BOLTS FOR 9\'OAH OCU CANOPY||(4) 3/4\"DIAX48\" BOLTS||HIGH STRENGTH||W/HHN AND WASHERS AND TEMPLATE||', 'S', 1, 'E', '2021-11-22', '', '0000-00-00', '2021-07-14 11:35:27'), (22278, 23669401, 'BURGER', 'BK9010FM.OCUWG49LG', 'BURGER KING 9\'OAH OCU CANOPY 49\" LG||DISPLAY WOOD GRAIN VINYL BOTH SIDES||DWG BK7067CP_OCU_2019_3DR3 #195336||DWG BK7067CP_OCU_ADPTRKIT2019||', 'S', 1, 'C', '2021-11-22', '', '0000-00-00', '2021-07-14 11:35:27'), (22272, 23669401, 'BURGER', 'BK1072CS.20', 'BURGER KING 6\' DIA ID SF SGN||20/20 DESIGN||GE TETRA MAX LEDS WITH 3\" RETURN||', 'S', 1, 'A', '2021-11-22', '', '0000-00-00', '2021-07-14 11:35:27'), (38162, 23669401, 'BURGER', 'BK3023RF.0V', 'BURGER KING 1\'7x3 DIR FACE||(1) DRIVE THRU(ARROW RIGHT)/(ARROW LEFT)||DRIVE THRU||', 'M', 2, 'F', '2021-11-22', '', '0000-00-00', '2021-12-06 12:35:25'), (38163, 23669401, 'BURGER', 'BK7009BA.20CLWG', 'BURGER KING BOLTS FOR 9\'OAH CLEARANCE||(4) 1\"DIAX42\" BOLTS||HIGH STRENGTH||W/HHN AND WASHERS AND TEMPLATE||', 'S', 1, 'F', '2021-11-22', '', '0000-00-00', '2021-12-06 12:35:25'); COMMIT; I'm trying to make a query that grabs items like 38162 and 38163 that have the same job_number but duplicate line_items as well as any job_numbers that have empty values for line_items.
  10. Yea I told it to ignore that line. AW seems to be importing fine now. Thanks @requinix
  11. Yes I guess that sums it up..I was just tinkering with AWStats and I made a backup of the original access log and created a new one. It imported that information fine. The line it has a problem with in the original file looks like this: I would assume the ::1 was when I accessed the page internally from the server. I wonder if there is a way for it to ignore problem lines.
  12. I did do that in the header. The problem is all of the ajax calls which is really the bulk of the information. It would just be too much work trying to add that to every page/functions.
  13. FYI I was using AWStats for a while and it was working well. But, at some point it had some issue with the log format? I think that was the issue. But, nothing ever changed in the log format that I am aware of so I couldn't ever figure out how to get awstats operational again.
  14. @requinixFor the purpose of being able to track which pages are being used the most, see what jobs are being tracked, etc. @ginerjmThis is an internal piece of software that I developed myself. I am not hacking my own software. In reality, the access log itself has must of what I need. It's just very large and being that it is a flat file very hard to parse in an efficient way.
  15. Good morning everyone! I was just looking to pick everyone's mind on something I would like to do... So, Apache has it's access log already which essentially already does most of what I want but it stores it in a flat file that is always large and even if it isn't it still doesn't provide me with everything I want to be able to do. I would like to be able to store all of that type of information (url requests whether coming from front-end ajax or a backend script and any parameters within the URL) and the user_id that is stored within a $_SESSION. Does anyone have any thoughts on how this could be accomplished? I built this little function just for testing purposes: function log_uri ( $pdo ) { //check that user is set if ( isset ( $_SESSION['user_id'] ) ) { $query = ' INSERT INTO log_uri (user_id, uri) VALUES (:user_id, :page) '; $statement = $pdo->prepare($query); $statement->execute([ ':user_id' => $_SESSION['user_id'], ':page' => $_SERVER['REQUEST_URI'], ]); } } But, it does not do what I want. Mainly, because it is only catching backend requests and not any of multiple AJAX requests that are happening very often and are of more interest to me than the back end requests. Here is what it a sample of what it captures so far: Any thoughts? Maybe there is a way to detect any ajax response or something? Or maybe I can modify the Apache logging system to go into a database and hopefully pick up the user_id?
  • 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.