MySQL queries for custom reporting in Dell’s KACE system

Posted January 4th, 2012 in SQL, Toolbox by Jonathan

I’ve probably said it before, but in my current job I get to learn a lot of new things all the time, as a web developer I’ve self-taught myself a lot of my current skill set. One of which is MySQL. I had a pretty basic understanding of SQL and simplistic queries. I’ve never really pushed myself into going further into bigger and nastier queries. Though, I did pick up a good piece of advice at an open source conference I attended. The speaker mentioned that independent of whatever language you are programming in, your database engine (he was speaking of MySQL) will do it better every time. Well the more I dig into it, the more I realize just how correct that statement is. I’ve been living under the impression that I can deal with data better outside of the database engine versus generating a better query to get the right data. I know that makes me sound lazy or dumb – but I think a lot of web developers fall into this when there’s no real reason to push the limits. I mean I could probably catch a lot of you selecting * in your statements huh?

Continue Reading »

JSON_ENCODE pre php 5.2

Posted May 24th, 2011 in PHP, Web Development by Jonathan

Once again I have run into an issue with one of those big hosting companies. This time it involves running an old version of php, 4.4 to be exact. While this may work for most things if you’re not getting so technical, and I didn’t really think I was, but of course it turns out something I take for granted (running php 5.3 on my production servers) caught me off guard.

I had a simple ajax call for a comment form. Send off the info and send an email out, very simple right. Well if you brush up on your php versions you’ll find that json_encode isn’t available till php version 5.2. So while the ajax call was working, my expected response was not.

So I started searching for a way to mimic the json output to send back, I cam across a post on Stack Overflow that pointed back to the PHP doc’s site on json_encode, and down in the comments boukeversteegh had posted an easy to use function to do exactly what i was looking for.

Continue Reading »

Comparing MySQL tables

Posted April 12th, 2011 in SQL, Web Development by Jonathan

At my current job, I’ve become a bit the goto guy on databases. While I don’t consider myself a defacto DBA, I do have to maintain and try to keep from destroying a number of databases. Today, coming on the heels of a serious project a coworker asked if we could compare the structures of tables in two different databases.

I almost responded we’d have to do it by hand – and I was partially right (most likely due to my limited knowledge). But I found a tool that at least gets me half way there so I’m not going through everything by hand (which can lead to problems too).

My normal course of action was to to just use phpmyadmin’s export feature to run the changes on the production tables. It’s not a bad way to go, but I found if I don’t keep up on the tasks, I’d forget about them and then have to go through the entire process with other developers in what they needed changed.

Continue Reading »

Session Time Out Notifier (PHP, Jquery)

Posted December 14th, 2010 in JQuery, PHP, Toolbox, Web Development by Jonathan

I was tooling around mint.com the other day and noticed that after a certain amount of time a notice appeared at the top of the screen to inform me that I was about to be logged out. Then after the time ran out I was returned to the login screen.

A few weeks ago, a coworker was asking if there was a better way to deal with being logged out on a backend system I put together. Once I saw the mint.com system I knew I had to try to build something like it. So I did, it’s not exactly the same because of the system I’m using but it works just as well and looks good doing it – I also wanted it to be a simple addition.

Getting started;

Have some idea of how to use jQuery, I don’t think what I’ve done here is hard – but at least understand some basic concepts like the $(document).ready() function,.fadeIn(),.click(),etc. For PHP, have an idea of $_GET variables, and header locations. Then some knowledge of Javascript itself, and an understanding of loops and counting.

Continue Reading »

A Quick Note about 1and1.com (php5)

Posted July 10th, 2010 in PHP, Web Development by Jonathan

This is merely a heads-up, reminder, cautionary tale, whatever you want to call it – but I seem to forget about it until something breaks and then after a few it dons on me that this is probably the problem. See I get so use to the servers I use at my day job, the ones that are custom built with CentOs running php5 and all the good stuff. I never have this problem.

So, and this applies to more than just 1and1 I’m sure. I’ve run into this on other hosting services – and I guess their are other ways to resolve this, but I’m going to start with my way.

So like I said, I’m use to what I have at work, PHP5. I base everything off that and this of course spills over into my contract work. So tonight I’m working on a project and I’m uploading it and trying to get it running. All I see if a odd error from adodb, missing a ending “}”. So I recopied it to the server, same thing, so I erase the entire adodb dir and try again. Still the error. So I start back tracking and spitting out all the errors I can to try and track this down. Because it’s sure as heck not a problem on my local machine.

Continue Reading »

Toolbox – Ajax requests and caching

Posted March 4th, 2010 in Featured, JQuery, Toolbox, Web Development by Jonathan

Today was a reminder of how much I can forget. I have been working on a quick little report to help a group of people here at work. Nothing special, but I was adding some nice functionality to make updating things easier.

Basically each result row had 2 check boxes. Where they could check or uncheck either of them and it would update a table in the background. No biggie I thought, of course I had been developing it in Firefox and Chrome and occasionally in IE 8, and everything previous to the check boxes worked fine in all the browsers.

Continue Reading »

Toolbox – Insert Text into TinyMCE at cursor

Posted November 25th, 2009 in Featured, JQuery, Toolbox, Web Development by Jon

In my mind, I can hear the them to Picture Pages playing in the background – because I want to remind you that in my quest to be a better web developer (and share with the world) I started this “toolbox” so I could keep a cataloged stockpile of simple easy to use tricks to make my life easier – plus I wanted to share…

This is documented somewhere on TinyMCE’s site, but it’s may not be easy to find. It’s simple little trick that I use as a helper to a simple image manager to go along with TinyMCE (since you have to pay for an image manager).

In my day to day life, it seems like I need a backend to every site I build, no one wants simple pages anymore. So I end up with a lot of forms, which have a lot of textareas in them. I like using TinyMCE as the wysiwyg editor for those textareas. This also calls for adding images and TinyMCE charges for the built in feature above using a url for an image. This presented me with a problem, I have end users who aren’t savvy enough to upload images (FTP) and then get the url to add the image to the editor, but they want images.

Continue Reading »

ToolBox – Preloading With Jquery

Posted November 12th, 2009 in Featured, JQuery, Toolbox by Jon

I thought I’d start a new Category called “Toolbox”, specifically for what I use on a daily basis for web development. These are snippets, functions, cheats, etc that anyone can use and make my life as a web developer that much easier…

This installment is something I’ve been using lately to preload images so they don’t spit out the alt text…Mostly it seems to happen when I’m doing something with ajax.

I found this snippet at Matt Farina’s blog.

This is the code (I just made a js file out of it and include it when necessary).

jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length;i++) {
      jQuery("<img>").attr("src", arguments[i]);
  }
}

Continue Reading »

Parsing what's dished out (I'm looking at you Godaddy)

Posted October 23rd, 2009 in JQuery, Web Development by Jon

It’s no secret – well if you’ve been listening to me for the past few days, that I’ve been upset with GoDaddy’s free web hosting. I have a side project for a client, and it needed an admin back end done – something to edit the pages, nothing crazy or too difficult and since I love JQuery, I add in some eye candy because it makes it easier to use.

Well as I’m cruising along, certain things that I’m use to doing a certain way just aren’t working. I narrowed down what I thought the problem was and it points right to the stupid ad banner that GoDaddy uses – well more to the point the mechanism they employ to add it to the pages.

It goes as far as attaching to an AJAX request reponse. So when you send your request and you get back a nice little JSON object back, it has some iframe crap stuck to the end of it. It really through me for a loop for awhile. Luckily Scott (and old coworker and friend of mine) got me pointed in the right direction.

Continue Reading »

Jquery Sliding

Posted October 21st, 2009 in Web Development by Jon

The Project

In one of my projects, I thought it would be cool to have a drop down select box trigger a slide down for the results, then slide up and slide back down when a new choice was selected. Seemed pretty easy, but when I got into it, it wasn’t as easy as I thought at first. But in all reality it turned out to be super easy.

I did some digging around to figure out how to tell if my div container (the one that would hold all the results) was visible or not, maybe I should just read the entire JQuery documentation – HA! Instead I turned to google and found that you can check for :hidden.

$("#div-id").is(":hidden");

So I can base my logic on that, if it’s hidden do this or if it’s not do this…

That was perfect, now it was just a matter of having it do exactly what I wanted. So if the div wasn’t hidden, I needed to hide then show it again with the new results. Or if it was hidden, show the results. Continue Reading »