
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jtGraphic.net &#187; Programming</title>
	<atom:link href="http://jtgraphic.net/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://jtgraphic.net</link>
	<description></description>
	<lastBuildDate>Fri, 03 Feb 2012 01:15:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Create iPhone Apps with jQTouch</title>
		<link>http://jtgraphic.net/create-iphone-apps-jqtouch/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=create-iphone-apps-jqtouch</link>
		<comments>http://jtgraphic.net/create-iphone-apps-jqtouch/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 21:32:39 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=936</guid>
		<description><![CDATA[<p>Tweet What is it? jQTouch is a library for jQuery that has been optimized for iPhone and other mobile devices. It makes it really easy to make the jump from being a web developer to being a mobile app developer. &#8230; <a href="http://jtgraphic.net/create-iphone-apps-jqtouch/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/create-iphone-apps-jqtouch/">Create iPhone Apps with jQTouch</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fcreate-iphone-apps-jqtouch%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/create-iphone-apps-jqtouch/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/create-iphone-apps-jqtouch/"  data-text="Create iPhone Apps with jQTouch" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/create-iphone-apps-jqtouch/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/create-iphone-apps-jqtouch/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><h2>What is it?</h2>
<p>jQTouch is a library for jQuery that has been optimized for iPhone and other mobile devices. It makes it really easy to make the jump from being a web developer to being a mobile app developer. I don&#8217;t really know Objective C and I really didn&#8217;t want to deal with learning it, but I wanted to make an app for my phone &#8211; just to build something quick to keep track of some stuff. I quickly found that jQTouch is the best platform for doing that if you&#8217;re a web developer.</p>
<p>There is something really cool about mobile app development on the web versus in an app store. There are some pretty distinct drawbacks too.  Here&#8217;s what I&#8217;ve found so far:</p>
<p><span id="more-936"></span></p>
<h3>Pros</h3>
<ul>
<li><strong>No approval process.</strong> You&#8217;re serving up a website, so Apple or whomever can&#8217;t &#8220;deny&#8221; your app.</li>
<li><strong>Low barrier to entry</strong> for people that know how to write PHP or ASP, but don&#8217;t know Objective C.</li>
<li><strong>Easy website and database integration</strong>, because generally it really is just a different template on an existing website.</li>
</ul>
<h3>Cons</h3>
<ul>
<li><strong>Bandwidth dependencies</strong> mean that your app might not work or be available when the end user isn&#8217;t getting an internet connection.</li>
<li><strong>No local storage</strong>, which goes hand in hand with the bandwidth dependencies, means you&#8217;re limited about the amount of data you can transfer as well as the availability as the data you&#8217;ve already collected.</li>
<li><strong>Limited functionality</strong>, because you aren&#8217;t writing a device integrated app, so you don&#8217;t get access to more advanced features like location and camera.</li>
</ul>
<h2>Quick Example</h2>
<p>First off, I&#8217;m not using valid HTML for this. I&#8217;m assuming you already know valid HTML and can make the required adjustments. Second, this doesn&#8217;t actually do anything by provide a cause and action methodology. There are probably better ways to do this, but I&#8217;m still learning this framework. I feel like I&#8217;ve gotten myself to a level of knowledge that I can solve most problems that come, but it doesn&#8217;t mean those solutions are always particularly graceful.</p>
<p>The first thing you want to do is grab the jQTouch library from their website.</p>
<h3>Build an Interface</h3>
<p>Obviously your style sheets and javascript files should point to the ones you downloaded in the package above.</p>
<p>Basically interfaces have a few parts. Those parts are divs with ID&#8217;s and links that open those divs. You can embed forms that call an action file as well. &lt;a href=&#8221;#something&#8221;&gt; will open &lt;div id=&#8221;something&#8221;&gt;, etc.</p>
<pre>&lt;html&gt;
  &lt;head&gt;
    &lt;link rel="stylesheet" type="text/css" href=jqtouch/jqtouch.css" /&gt;
    &lt;link rel="stylesheet" type="text/css" href="jqtouch/themes/jqt/theme.css" /&gt;
    &lt;script type="text/javascript" src="jqtouch/jquery.1.3.2.min.js"&gt;&lt;/script&gt;
    &lt;script type="text/javascript" src="jqtouch/jqtouch.js"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
      $.jQTouch({
        icon: 'jqtouch.png',
        statusBar: 'black-translucent',
        preloadImages: [
          'themes/jqt/img/chevron_white.png',
          'themes/jqt/img/bg_row_select.gif',
          'themes/jqt/img/back_button_clicked.png',
          'themes/jqt/img/button_clicked.png'
        ]
      });
    &lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;div id="home"&gt;
      &lt;div class="toolbar"&gt;
        &lt;h1&gt;App Name&lt;/h1&gt;
      &lt;/div&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="#do_something"&gt;Do Something&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="#show_something"&gt;Show Something&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
    &lt;form id="do_something" action="do_something.php" method="POST"&gt;
      &lt;div class="toolbar"&gt;
        &lt;h1&gt;Do Something&lt;/h1&gt;
        &lt;a href="#"&gt;Back&lt;/a&gt;
      &lt;/div&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;input type="text" name="field_name" value="" placeholder="Field Name" /&gt;&lt;/li&gt;
      &lt;/ul&gt;
      &lt;a style="margin:0 10px;color:rgba(0,0,0,.9)" href="#"&gt;Submit&lt;/a&gt;
    &lt;/form&gt;
    &lt;div id="show_something"&gt;
      &lt;div class="toolbar"&gt;
        &lt;h1&gt;Show Something&lt;/h1&gt;
        &lt;a href="#"&gt;Back&lt;/a&gt;
      &lt;/div&gt;
      &lt;?php
        //use some PHP here to show some data
      ?&gt;
    &lt;/div&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre>
<h3>Build an Action</h3>
<p>So now the action referenced in the form above would look something like this:</p>
<pre>&lt;?php
  //do some stuff (for instance, pick up some post variables and do things)
  echo
    '&lt;div&gt;
       &lt;div class="toolbar"&gt;
         &lt;h1&gt;Message Title&lt;/h1&gt;
         &lt;a href="#"&gt;Back&lt;/a&gt;
       &lt;/div&gt;
       &lt;div&gt;Show a message.&lt;/div&gt;
     &lt;/div&gt;';
?&gt;</pre>
<p>Ok, so the trick here is that in normal development, you might do a header redirect with a message or something in the session variable, but in jQTouch, what you want to do is echo out your message and it will be returned immediately to the device.</p>
<h3>Quick Notes</h3>
<ul>
<li>Cookies work best for authentication and such. Session variables can get lost when the device randomly changes IP addresses, etc.</li>
<li>This is super basic. Check out the jQTouch website for more information. You can always shoot me an email or leave a comment too.</li>
</ul>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fcreate-iphone-apps-jqtouch%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/create-iphone-apps-jqtouch/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/create-iphone-apps-jqtouch/"  data-text="Create iPhone Apps with jQTouch" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/create-iphone-apps-jqtouch/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/create-iphone-apps-jqtouch/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/create-iphone-apps-jqtouch/">Create iPhone Apps with jQTouch</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/create-iphone-apps-jqtouch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Automated Way to Find Google Pagerank</title>
		<link>http://jtgraphic.net/automated-find-google-pagerank/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=automated-find-google-pagerank</link>
		<comments>http://jtgraphic.net/automated-find-google-pagerank/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 21:11:41 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Pagerank]]></category>
		<category><![CDATA[Program]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[Tidbit Tuesday]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=722</guid>
		<description><![CDATA[<p>Tweet I was looking for an automated way to get Google Pagerank for a few hours and came up with quite a few things, but not many of them were very elegant.  Essentially, Google doesn&#8217;t provide an API and it&#8217;s &#8230; <a href="http://jtgraphic.net/automated-find-google-pagerank/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/automated-find-google-pagerank/">Automated Way to Find Google Pagerank</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fautomated-find-google-pagerank%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/automated-find-google-pagerank/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/automated-find-google-pagerank/"  data-text="Automated Way to Find Google Pagerank" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/automated-find-google-pagerank/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/automated-find-google-pagerank/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I was looking for an automated way to get Google Pagerank for a few hours and came up with quite a few things, but not many of them were very elegant.  Essentially, Google doesn&#8217;t provide an API and it&#8217;s against their terms of service to hit them up in an automated way.  I found quite a few places that have come up with close algorithms and calculate PR for sites, but that&#8217;s just not accurate enough for me.  The other option is to hit their PR URL that the toolbar uses.  For example:</p>
<p><a href="http://toolbarqueries.google.com/search?client=navclient-auto&amp;hl=en&amp;ch=61470319184&amp;ie=UTF-8&amp;oe=UTF-8&amp;features=Rank&amp;q=info:http%3A%2F%2Fforums.digitalpoint.com%2Fshowthread.php%3Ft%3D164713" target="_blank">http://toolbarqueries.google.com/search?client=navclient-auto&amp;hl=en&amp;ch=61470319184&amp;ie=UTF-8&amp;oe=UTF-8&amp;features=Rank&amp;q=info:http%3A%2F%2Fforums.digitalpoint.com%2Fshowthread.php%3Ft%3D164713</a></p>
<p>That returns the PR of Digital Point Forums, where I found that information, but you can&#8217;t change the reference URL, because of a checksum.  That&#8217;s the &amp;ch= variable in the URL.  I&#8217;m working on a project that needs to look up PR on the fly though, so that just won&#8217;t work.  I ended up finding a script that I could use, but the guy didn&#8217;t put his URL in the comments, and I since can&#8217;t find it &#8211; oops.  I think he deserves a pat on the back though.  If this belongs to you, or you know who&#8217;s it is, let me know.</p>
<p>I tweaked the script and installed it on my <a href="http://toolerific.com" target="_blank">Toolerific.com</a> website.  Now you can go there and check the PR of any site without a captcha, which is nice.  The tool is <a href="http://toolerific.com/pagerankcheck/" target="_blank">here</a>.</p>
<p>Now, the best automated way to check pagerank is to hit that site with cURL and take out the value of the HTML tag with the id &#8220;value&#8221;.  The reason that is the best automated way to do it is because Google may change their checksum rules and that will break the source code that I used to generate it, but that site will always be laid out like that, so you don&#8217;t have to worry about changing anything.  If you want the code I used, you can view it <a href="http://www.jtgraphic.net/code/june-2010-pr-checker-php-script/">here</a>.</p>
<p><em><strong>Update</strong>: This doesn&#8217;t seem to work ALL of the time.  I suspect it has something to do with the checksum, but can&#8217;t figure it out.  Seems to be about 27% of the time, which isn&#8217;t great odds, but it works MOST of the time.  I&#8217;ll keep you posted if I find out more.</em></p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fautomated-find-google-pagerank%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/automated-find-google-pagerank/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/automated-find-google-pagerank/"  data-text="Automated Way to Find Google Pagerank" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/automated-find-google-pagerank/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/automated-find-google-pagerank/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/automated-find-google-pagerank/">Automated Way to Find Google Pagerank</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/automated-find-google-pagerank/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Paginating in MSSQL</title>
		<link>http://jtgraphic.net/tidbit-tuesday-paginating-mssql/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tidbit-tuesday-paginating-mssql</link>
		<comments>http://jtgraphic.net/tidbit-tuesday-paginating-mssql/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 04:25:41 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[limit]]></category>
		<category><![CDATA[mssql]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[pagination]]></category>
		<category><![CDATA[Tidbit Tuesday]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=547</guid>
		<description><![CDATA[<p>Tweet I don&#8217;t really work with MSSQL very much and was wondering how to do pagination similar to doing it in MySQL with the LIMIT command.  It&#8217;s MUCH harder in MSSQL, but here is how you do it: SELECT * &#8230; <a href="http://jtgraphic.net/tidbit-tuesday-paginating-mssql/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/tidbit-tuesday-paginating-mssql/">Paginating in MSSQL</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftidbit-tuesday-paginating-mssql%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/tidbit-tuesday-paginating-mssql/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/tidbit-tuesday-paginating-mssql/"  data-text="Paginating in MSSQL" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/tidbit-tuesday-paginating-mssql/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/tidbit-tuesday-paginating-mssql/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I don&#8217;t really work with MSSQL very much and was wondering how to do pagination similar to doing it in MySQL with the LIMIT command.  It&#8217;s MUCH harder in MSSQL, but here is how you do it:</p>
<pre>SELECT * FROM
 (SELECT TOP [size_of_record_set] * FROM
 (SELECT TOP [end_record] * FROM [table] ORDER BY [field] ASC) AS tbl1 ORDER BY [field] DESC
 ) AS tbl2</pre>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftidbit-tuesday-paginating-mssql%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/tidbit-tuesday-paginating-mssql/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/tidbit-tuesday-paginating-mssql/"  data-text="Paginating in MSSQL" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/tidbit-tuesday-paginating-mssql/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/tidbit-tuesday-paginating-mssql/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/tidbit-tuesday-paginating-mssql/">Paginating in MSSQL</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/tidbit-tuesday-paginating-mssql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Twitter API</title>
		<link>http://jtgraphic.net/twitter-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=twitter-api</link>
		<comments>http://jtgraphic.net/twitter-api/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 06:15:06 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Insights]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[curl_close]]></category>
		<category><![CDATA[curl_exec]]></category>
		<category><![CDATA[curl_init]]></category>
		<category><![CDATA[curl_setopt]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tidbit Tuesday]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=493</guid>
		<description><![CDATA[<p>Tweet I&#8217;ve been messing with the Twitter API for the first time in the last few hours, and I&#8217;ve learned a TON.  I know &#8211; I&#8217;m jumping on the bandwagon late, but oh well.  I managed to create a script &#8230; <a href="http://jtgraphic.net/twitter-api/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/twitter-api/">The Twitter API</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftwitter-api%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/twitter-api/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/twitter-api/"  data-text="The Twitter API" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/twitter-api/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/twitter-api/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I&#8217;ve been messing with the Twitter API for the first time in the last few hours, and I&#8217;ve learned a TON.  I know &#8211; I&#8217;m jumping on the bandwagon late, but oh well.  I managed to create a script to retweet &#8220;stuff&#8221; based on the search functionality and I made a script to automatically follow people that post specific things.  I also managed to get my account suspended in like 2 hours due to suspicious activity &#8211; whoops.  I guess you live, you learn.  Basically everything for status updates and following uses CURL, which looks a little something like this:</p>
<pre>&lt;?php
 $username = "&lt;username&gt;";
 $password = "&lt;password&gt;"; t t
 $message = "&lt;message content&gt;";
 $url = '&lt;API URL&gt;';
 $curl_handle = curl_init();
 curl_setopt($curl_handle, CURLOPT_URL, "$url");
 curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
 curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($curl_handle, CURLOPT_POST, 1);
 curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
 curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
 $buffer = curl_exec($curl_handle);
 curl_close($curl_handle);
?&gt;
</pre>
<p>If you&#8217;re looking for more info on how to use twitter, check out this <a href="http://80c59e-ex0t7s56uh6dma2cr3p.hop.clickbank.net/" target="_blank">eSeries</a>.  It&#8217;s a good resource.</p>
<p>So, have questions?  Let me know.  I&#8217;m hoping to do a twitter series soon!</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftwitter-api%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/twitter-api/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/twitter-api/"  data-text="The Twitter API" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/twitter-api/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/twitter-api/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/twitter-api/">The Twitter API</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/twitter-api/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tidbit Tuesday on PHP: Simple MySQL Database Insert Function</title>
		<link>http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tidbit-tuesday-php-simple-mysql-database-insert-function</link>
		<comments>http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 19:03:49 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[Tidbit Tuesday]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=460</guid>
		<description><![CDATA[<p>Tweet This builds on a function I did last week: db_query(). You can send any array straight to a MySQL database and it&#8217;ll even check to make sure the column actually exists.  Oh, and it returns the id of the &#8230; <a href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/">Tidbit Tuesday on PHP: Simple MySQL Database Insert Function</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftidbit-tuesday-php-simple-mysql-database-insert-function%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/"  data-text="Tidbit Tuesday on PHP: Simple MySQL Database Insert Function" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>This builds on a function I did last week: <a href="http://www.jtgraphic.net/2009/11/tidbit-tuesday-php-simple-mysql-database-query-function/" target="_blank">db_query()</a>.  You can send any array straight to a MySQL database and it&#8217;ll even check to make sure the column actually exists.  Oh, and it returns the id of the record you just added in case you needed it.</p>
<pre>&lt;?php
   function db_array_insert($cfg_array, $table, $array) {
      require_once("dbQuery.function");

      $sql = "show columns from ".$table
      $tableArray = db_query($cfg_array, $sql);
      $inputString = "";

      foreach($tableArray as $key =&gt; $value) {
         if (array_key_exists($value[0], $array) &amp;&amp; $value[0])
            $inputString .= "'".addslashes($array[$value[0]])."', ";
         else
            $inputString .= "'', ";
      }

      $inputString = substr($inputString, 0, -2);
      $sql = "insert into $table values(".$inputString.")"
      db_query($cfg_array, $sql);

      return mysql_insert_id();
   }

   $insert_array = array(
      "column_1" =&gt; "something_1",
      "column_2" =&gt; "something_2"
   );

   $cfg_array = array(
      "db_loc" =&gt; 'www.databaselocation.com',
      "db_user" =&gt; 'some user'
      "db_pass" =&gt; 'some password'
      "db_name" =&gt; 'database_name_here'
   );

   db_array_insert($cfg_array, "some_table", $insert_array); //and use it.
?&gt;
</pre>
<p>So what do you think?  Having a problem?  Just let me know in the comments.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftidbit-tuesday-php-simple-mysql-database-insert-function%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/"  data-text="Tidbit Tuesday on PHP: Simple MySQL Database Insert Function" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/">Tidbit Tuesday on PHP: Simple MySQL Database Insert Function</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-insert-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tidbit Tuesday on PHP: Simple MySQL Database Query Function</title>
		<link>http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tidbit-tuesday-php-simple-mysql-database-query-function</link>
		<comments>http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 17:28:20 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[db_query]]></category>
		<category><![CDATA[die]]></category>
		<category><![CDATA[foreach]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql_connect]]></category>
		<category><![CDATA[mysql_error]]></category>
		<category><![CDATA[mysql_query]]></category>
		<category><![CDATA[mysql_select_db]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[Tidbit Tuesday]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=452</guid>
		<description><![CDATA[<p>Tweet It&#8217;s always great to create functions for those things you do a lot.  Probably the single most common function I execute is database calls. Here is a simple script for hitting up your MySQL database with a query: &#60;?php &#8230; <a href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/">Tidbit Tuesday on PHP: Simple MySQL Database Query Function</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftidbit-tuesday-php-simple-mysql-database-query-function%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/"  data-text="Tidbit Tuesday on PHP: Simple MySQL Database Query Function" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>It&#8217;s always great to create functions for those things you do a lot.  Probably the single most common function I execute is database calls.</p>
<p>Here is a simple script for hitting up your MySQL database with a query:</p>
<pre>
&lt;?php
   if(!function_exists(dbQuery)) {
      function db_query($cfg_array, $query) {
         $connection =
            mysql_connect(
               $cfg_array['db_loc'],$cfg_array['db_user'],$cfg_array['db_pass']
            ) or die(mysql_error());

         mysql_select_db($cfg_array['db_name'],$connection)
            or die(mysql_error()." &gt;&gt; ".$query);
         $result = mysql_query($query,$connection)
            or die (mysql_error()." &gt;&gt; ".$query);
         $i = 0;

         if($result != 1) {
            while ($data_array = mysql_fetch_array($result)) {
               foreach($data_array as $key =&gt; $value) {
                  $tableArray[$i][$key] = stripslashes($data_array[$key]);
               }

               $i++;
            }

            return $tableArray;
         }
      }
   }
?&gt;
</pre>
<p>You should be able to just copy and paste this as a function and call it in one of two ways:</p>
<pre>
$cfg_array = array(
   "db_loc" =&gt; 'www.databaselocation.com',
   "db_user" =&gt; 'some user'
   "db_pass" =&gt; 'some password'
   "db_name" =&gt; 'database_name_here'
);

$query = "SELECT * FROM 'table' WHERE some_column = 'something'";

db_query($cfg_array, $query); // This will return an array with the table in it.

$query = "UPDATE/DELETE/ETC * FROM 'table' WHERE some_column = 'something'";

db_query($cfg_array, $query); // This will return return an empty array, but still works.
</pre>
<p>I use this function in EVERYTHING.  I also have some other functions that use this as its base.  Someday I&#8217;ll turn it into a class.</p>
<p>So, what do you think?</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftidbit-tuesday-php-simple-mysql-database-query-function%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/"  data-text="Tidbit Tuesday on PHP: Simple MySQL Database Query Function" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/">Tidbit Tuesday on PHP: Simple MySQL Database Query Function</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/tidbit-tuesday-php-simple-mysql-database-query-function/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tidbit Tuesday on PHP: Holiday Notices for Business Sites</title>
		<link>http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tidbit-tuesday-php-holiday-notices-business-sites</link>
		<comments>http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 20:47:48 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[Calendar]]></category>
		<category><![CDATA[Custom Functions]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[strtotime]]></category>
		<category><![CDATA[Tidbit Tuesday]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=343</guid>
		<description><![CDATA[<p>Tweet This is a handy script for managing an out of office message on your website.  I find this very useful on business websites when you&#8217;re tired of making that one little change to let people know when the office &#8230; <a href="http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/">Tidbit Tuesday on PHP: Holiday Notices for Business Sites</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftidbit-tuesday-php-holiday-notices-business-sites%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/"  data-text="Tidbit Tuesday on PHP: Holiday Notices for Business Sites" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>This is a handy script for managing an out of office message on your website.  I find this very useful on business websites when you&#8217;re tired of making that one little change to let people know when the office will be shut down.  With about 15 minutes of extra work, you only need to do it once a year.</p>
<p>Let&#8217;s say for instance we&#8217;re doing all of the major U.S. Holidays in 2010, observing weekend Holidays with a day off on either side of the weekend.  This means first we need to determine what those dates are.  I just happen to have looked up the six most common, listed below:</p>
<ul>
<li>New Year&#8217;s Eve &#8211; January 1st</li>
<li>Memorial Day &#8211; May 31st</li>
<li>Independence Day &#8211; July 5th (July 4th is Sunday)</li>
<li>Labor Day &#8211; September 6th</li>
<li>Thanksgiving &#8211; November 25th and 26th</li>
<li>Christmas &#8211; December 24th (December 25th is a Saturday)</li>
</ul>
<p>Now that we know our dates, we can build them into an array:</p>
<pre>$date_array = array(
   "New Yearís Eve" =&gt;
      array("leaving" =&gt; "2010-12-31", "returning" =&gt; "2011-01-03"),
   "Memorial Day" =&gt;
      array("leaving" =&gt; "2010-05-31", "returning" =&gt; "2010-06-01"),
   "Independence Day" =&gt; // July 4th is a Sunday
      array("leaving" =&gt; "2010-07-05", "returning" =&gt; "2010-07-06"),
   "Labor Day" =&gt;
      array("leaving" =&gt; "2010-09-06", "returning" =&gt; "2010-09-07"),
   "Thanksgiving" =&gt;
      array("leaving" =&gt; "2010-11-025", "returning" =&gt; "2010-11-029"),
   "Christmas" =&gt; // December 25th is a Saturday
      array("leaving" =&gt; "2010-12-24", "returning" =&gt; "2010-12-27"),
 );</pre>
<p>The date array can easily be stored in a database or be made up of more complicated functions that would calculate the holidays across multiple years with some basic logic.  Maybe we&#8217;ll cover the latter part in another post some day.</p>
<p>Now we need to build the function itself.  This function will be run every time the page loads.  You can even include the function in a separate file to be included on multiple pages:</p>
<pre>function holiday_message($date, $date_array) {
   $date = strtotime($date); // Reformat the date so we can do math on it.
   foreach($date_array as $key =&gt; $value) {
      $leaving = strtotime($value['leaving']);
      $returning = strtotime($value['returning']);
      $early_warning = $leaving - 86400 * 7;
      // If the date is between (7 days before) leaving and returning
         if($date &gt; $early_warning &amp;&amp; $date &lt; $returning) {
            echo
               "We will be observing ".$key." from ".date("Y-m-d", $leaving).
               " until ". date("Y-m-d", $returning).".
               When we return we will be more than happy to assist you.";
         }
   }
}</pre>
<p>Now we just need to execute this function anywhere on the page:</p>
<pre>holiday_message(date("Y-m-d H:i:s"),$date_array);</pre>
<p>This code can be customized in numerous different ways, so the the message is more formal, or works for your specific situation.  You can also change the way days are stored or calculated, like the example above.  This is a core to get you started.  Where can you go from here?</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Ftidbit-tuesday-php-holiday-notices-business-sites%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/"  data-text="Tidbit Tuesday on PHP: Holiday Notices for Business Sites" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/">Tidbit Tuesday on PHP: Holiday Notices for Business Sites</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/tidbit-tuesday-php-holiday-notices-business-sites/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>PHP Function Friday: date</title>
		<link>http://jtgraphic.net/php-function-friday-date/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php-function-friday-date</link>
		<comments>http://jtgraphic.net/php-function-friday-date/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 04:02:01 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[Function Friday]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=445</guid>
		<description><![CDATA[<p>Tweet I think the date function is extremely useful.  It gives your programs an awareness of WHEN they are.  You can do some pretty cool things like calculate this date from that date, make a calendar, or store information about &#8230; <a href="http://jtgraphic.net/php-function-friday-date/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/php-function-friday-date/">PHP Function Friday: date</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fphp-function-friday-date%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/php-function-friday-date/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/php-function-friday-date/"  data-text="PHP Function Friday: date" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/php-function-friday-date/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/php-function-friday-date/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>I think the date function is extremely useful.  It gives your programs an awareness of WHEN they are.  You can do some pretty cool things like calculate this date from that date, make a calendar, or store information about when an action was taken.</p>
<h3>Function and Syntax</h3>
<pre>string date(string $format  [, int $timestamp  ])</pre>
<h3>Manual Entry</h3>
<p><a href="http://php.net/manual/en/function.date.php" target="_blank">http://php.net/manual/en/function.date.php</a></p>
<h3>Notes and Use</h3>
<p>There are two variables you can pass to the date function: the string format, and the timestamp.  What are those?  The string format uses various characters to define how the string the function returns will be formatted.  The table for which characters mean what is on the <a href="http://php.net/manual/en/function.date.php">PHP Manual Page</a>.  The timestamp is a Unix timestamp for a specific date/time.</p>
<h3>Other Functions Referenced in Examples</h3>
<ul>
<li><a href="http://php.net/manual/en/control-structures.if.php" target="_blank">if<br />
</a></li>
</ul>
<h3>Examples</h3>
<h4>Output Today&#8217;s Date and Time</h4>
<p>This should just simply output today&#8217;s date.  I did a few formats based on January 1, 2009 at 4:52:39 PM.</p>
<pre>echo date("Y-m-d H:i:s"); /* Should output '2009-01-01 16:52:39'.  Common programming format*/
echo date("F n, Y at g:m:s A") /* Should output 'January 1, 2009 at 4:52:39 PM'.*/
</pre>
<h4>Put a Message on Your Website Every Monday</h4>
<p>Do you hate Mondays?  Let everyone know.  This script checks to see if it&#8217;s Monday and then outputs a message if it is.  That &#8216;w&#8217; in the date function is a numeric representation of the day of the week.  For instance: Wednesday is 3 and Sunday is 0.</p>
<pre>if(date("w") == 1) {
   echo "Ugh.  It's Monday."
}
</pre>
<h3>Examples Elsewhere on this Site:</h3>
<p><a href="http://www.jtgraphic.net/2009/10/tidbit-tuesday-php-holiday-notices-business-sites/" target="_blank">Holiday Notices</a></p>
<h3>Conclusion</h3>
<p>Date functions are extremely useful when trying to figure out when you are (or better stated: when your program tries to figure out when it is).  Using date and time functions allow you to create a lot of automation in your scripts.  Have you got any useful implementations on this function?</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fphp-function-friday-date%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/php-function-friday-date/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/php-function-friday-date/"  data-text="PHP Function Friday: date" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/php-function-friday-date/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/php-function-friday-date/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/php-function-friday-date/">PHP Function Friday: date</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/php-function-friday-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Function Friday: include</title>
		<link>http://jtgraphic.net/php-function-friday-include/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php-function-friday-include</link>
		<comments>http://jtgraphic.net/php-function-friday-include/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 21:52:28 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Function Friday]]></category>
		<category><![CDATA[include]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=421</guid>
		<description><![CDATA[<p>Tweet Including files makes it really easy to NOT duplicate code. It&#8217;s great for creating headers and footers for websites, or using it in the inverse: make the header and footer in one file, and include the content.  You can &#8230; <a href="http://jtgraphic.net/php-function-friday-include/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/php-function-friday-include/">PHP Function Friday: include</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fphp-function-friday-include%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/php-function-friday-include/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/php-function-friday-include/"  data-text="PHP Function Friday: include" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/php-function-friday-include/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/php-function-friday-include/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Including files makes it really easy to NOT duplicate code.  It&#8217;s great for creating headers and footers for websites, or using it in the inverse: make the header and footer in one file, and include the content.  You can also store site configuration files, functions, and repeating content, etc.</p>
<h3>Function and Syntax</h3>
<pre>include(&lt;file path&gt;);
</pre>
<h3>Manual Entry</h3>
<p><a href="http://php.net/manual/en/function.include.php">http://php.net/manual/en/function.include.php</a></p>
<h3>Notes and Use</h3>
<p>Includes are a great way to include the same code to many different PHP files.  I find this the most useful for storing variables and functions across an entire website.  The other great way to use this function is to include repetitive code that needs to be outside of a function scope &#8211; for example: including form layouts across multiple pages.  I like to use the same include for both my add and edit pages on a form sometimes.</p>
<h3>Examples</h3>
<h4>Storing Site-Wide Variables</h4>
<p>This is stored in the file &#8216;configuration.php&#8217;:</p>
<pre>$blog_name = "jtGraphic.net";
$blog_description = "Ramblings of an Internet Addict";
</pre>
<p>This is another PHP file where you&#8217;re calling the include &#8211; call it whatever you want.  I&#8217;ll call mine &#8216;main.php&#8217;:</p>
<pre>include("configuration.php");
echo $blog_name."&lt;br /&gt;";
echo $blog_description;
</pre>
<p>This is another PHP file somewhere else on the site &#8211; maybe inside the /content/ directory.  Call it whatever you want.  I&#8217;ll call mine &#8216;content.php&#8217;:</p>
<pre>include("../configuration.php");
echo $blog_name."&lt;br /&gt;";
echo $blog_description;
</pre>
<p>Both &#8216;main.php&#8217; and &#8216;content.php&#8217; will echo out the same information because you included the same file at the beginning of each.</p>
<h4>Website Header and Footer</h4>
<p>I find that another extremely powerful use of includes is to build your header and footer for your website.  In this example, we&#8217;re going to dynamically set the title variable in the main content page and call it inside the include.  This is how I build some of my simpler sites.  By the way, this isn&#8217;t HTML standards compliant.  It&#8217;s just an example.</p>
<p>We&#8217;ll call this file &#8216;header.php&#8217;</p>
<pre>&lt;html&gt;
   &lt;head&gt;
      &lt;title&gt;jtGraphic.net &lt;?php echo $page_title; ?&gt;&lt;/title&gt;
   &lt;/head&gt;
   &lt;body&gt;
/*snip*/
</pre>
<p>We&#8217;ll call this next file &#8216;footer.php&#8217;;</p>
<pre>//snip
      &lt;div&gt; &amp;copy; James Thompson and jtGraphic.net &lt;/div&gt;
   &lt;body&gt;
&lt;/html&gt;
</pre>
<p>Now that we have our header and footer, we can make some more pages:</p>
<p>We&#8217;ll call this one &#8216;content_1.php&#8217;:</p>
<pre>$page_title = "Some Title";
include("header.php");
//content here
include("footer.php");
</pre>
<p>We&#8217;ll call the next one &#8216;content_2.php&#8217;:</p>
<pre>$page_title = "Some Other Title";
include("header.php");
//content here
include("footer.php");
</pre>
<p>When accessing &#8216;content_1.php&#8217; and &#8216;content_2.php&#8217; you should get everything you put in &#8216;header.php&#8217; and &#8216;footer.php&#8217;, but the title should be what you defined in the content files.  This is a really rudimentary example, but it is VERY useful.</p>
<h3>Conclusion</h3>
<p>So, remember: whenever you have a set of code that is duplicated you can probably deal with it through <a href="http://www.jtgraphic.net/2009/09/php-function-friday-function/" target="_blank">custom functions</a> or includes.  Don&#8217;t duplicate the code!  If you have your own examples, feel free to link them up below!</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fphp-function-friday-include%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/php-function-friday-include/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/php-function-friday-include/"  data-text="PHP Function Friday: include" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/php-function-friday-include/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/php-function-friday-include/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/php-function-friday-include/">PHP Function Friday: include</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/php-function-friday-include/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Function Friday: function</title>
		<link>http://jtgraphic.net/php-function-friday-function/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=php-function-friday-function</link>
		<comments>http://jtgraphic.net/php-function-friday-function/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 00:29:43 +0000</pubDate>
		<dc:creator>jt</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[Function Friday]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[strtotime]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.jtgraphic.net/?p=368</guid>
		<description><![CDATA[<p>Tweet So, I&#8217;ve decided to start including a new post every Friday &#8211; kind of as a discipline thing. I&#8217;m going to write a post on a PHP function every Friday. I&#8217;m not just going to regurgitate the post in &#8230; <a href="http://jtgraphic.net/php-function-friday-function/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/php-function-friday-function/">PHP Function Friday: function</a></p>]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fphp-function-friday-function%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/php-function-friday-function/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/php-function-friday-function/"  data-text="PHP Function Friday: function" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/php-function-friday-function/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/php-function-friday-function/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>So, I&#8217;ve decided to start including a new post every Friday &#8211; kind of as a discipline thing.  I&#8217;m going to write a post on a PHP function every Friday.  I&#8217;m not just going to regurgitate the post in the official PHP manual, but I&#8217;m going to list my experience with it along with some creative ways to use it.</p>
<p>With out any further adieu, I&#8217;m posting on the first official building block (which isn&#8217;t technically a function, but I digress) &#8216;function&#8217;:</p>
<h3>PHP Function and Syntax</h3>
<pre>function <em>&lt;function name&gt;</em>(<em>&lt;parameters&gt;</em>) {
   /*add code here*/
}
</pre>
<h3>PHP Manual Entry</h3>
<p>Check here for version information, or anything I may have missed:</p>
<p><a href="http://www.php.net/manual/en/functions.user-defined.php" target="_blank">http://www.php.net/manual/en/functions.user-defined.php</a></p>
<h3>Notes and Use</h3>
<p>This is great for building blocks of code that you repeat a lot.  I like to use it when duplicating XML/HTML code, such as links or form elements, which I will outline below.  Functions, both custom and built in, are the primary building blocks of a good program.  Everything else is just procedural.</p>
<p>Also, on a side note: <a href="http://svn.php.net/viewvc/php/php-src/trunk/CODING_STANDARDS?view=co" target="_blank">PHP Coding Standards</a> is a good read if you&#8217;re really geeky.</p>
<p>An important thing to keep in mind about making custom functions is that someone has probably already made it if it doesn&#8217;t already exist in the built in functions for PHP.  Feel free to jump online and see if someone has already made a function to do what you&#8217;re trying to do.  I like to use the site <a href="http://www.hotscripts.com/" target="_blank">HotScripts.com</a>, which has both free and commercial PHP scripts available.  Chances are: if I need it, they have it.  It saves me a ton of time.</p>
<p>Note in the examples that I precede the function with some explanation of what it does, the author, etc.  This isn&#8217;t needed, but it&#8217;s a REALLY good habit.</p>
<h4>Other Functions Referenced in Examples</h4>
<ul>
<li><a href="http://php.net/manual/en/function.return.php" target="_blank">date()</a></li>
<li><a href="http://php.net/manual/en/function.return.php" target="_blank">strtotime()</a></li>
<li><a href="http://php.net/manual/en/function.return.php" target="_blank">time()</a></li>
<li><a href="http://php.net/manual/en/function.return.php" target="_blank">return()</a></li>
</ul>
<h3>Examples</h3>
<p>Here&#8217;s the meat.  Let&#8217;s make some stuff work.</p>
<h4>Creating Image Links</h4>
<pre>/*
 *  Author: James Thompson, jtGraphic.net
 *
 *  Description
 *  ------------------------------------
 *  This function is for displaying image links in HTML.  It's less typing,
 *  and easier to remember what needs to be slashed out.  An image
 *  with the same name as the file name of the page you're linking to needs to
 *  be placed on the server in the same path as the internal variable
 *  '$image_path' and the same extension as '$image_ext'.
 *
 *  Arguments
 *  ------------------------------------
 *  $url - URL of the link
 *  $extra_tag_html - this is any extra HTML, like class, id, or style
 *
 */

/* Build the function. */

	function create_html_link($name, $extra_tag_html) {
		/* Define internal variables. */
			$image_path = "images/";
			$image_ext   = ".jpg";

		/* Output the HTML. */
			echo
				"&lt;a href="".$name.".php" ".$extra_tag_html."&gt;
					&lt;img src="".$image_path.$name.$image_ext."" /&gt;
				&lt;/a&gt;";
	}

/* Execute the function. */

	create_html_link("home", "class="normal_link"");
	create_html_link("about", "class="normal_link"");
	create_html_link("contact", "class="normal_link"");
</pre>
<h4>Calculate the Number of Days Since Some other Date</h4>
<pre>/*
 *  Author: James Thompson, jtGraphic.net
 *
 *  Description
 *  ------------------------------------
 *  Simple.  This calculates the number of days since X date.
 *
 *  Arguments
 *  ------------------------------------
 *  $date - the date in this format: 'YYYY-MM-DD HH:MM:SS'
 *
 */

/* Build the function. */

	function num_days_since($date) {
		/* Do some time math. */
			$date = strtotime($date);
			$now = time();
			$difference = $now - $date;
			$days = $difference / 86400;

		/* Output the Value. */
			return $days;
	}

/* Execute the function. */

	/* Should return 0 */
		echo num_days_since(date("Y-m-d H:i:s"));
	/* Someone's birthday at 6:02:55AM on Oct 23, 1974 */
		echo num_days_since("1974-10-23 06:02:55");
	/* Since Jan 1, 2009 - no need for time */
		echo num_days_since("2009-01-01");
</pre>
<h3>Examples Elsewhere on this Site:</h3>
<p><a href="http://www.jtgraphic.net/2009/10/tidbit-tuesday-php-holiday-notices-business-sites/" target="_blank">Holiday Notices</a></p>
<h3>Conclusion</h3>
<p>So that&#8217;s the basics.  Functions can be very powerful in reducing the code on your websites.  If you&#8217;d like to see some more <a href="http://www.jtgraphic.net/tag/custom-functions/" target="_blank">custom functions</a>, check out my <a href="http://www.jtgraphic.net/tag/Tidbit-Tuesday/" target="_blank">Tidbit Tuesdays on PHP</a> If you have questions, let me know in the comments.</p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fjtgraphic.net%2Fphp-function-friday-function%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://jtgraphic.net/php-function-friday-function/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://jtgraphic.net/php-function-friday-function/"  data-text="PHP Function Friday: function" data-count="horizontal" data-via="jtgraphic">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://jtgraphic.net/php-function-friday-function/" data-counter="right"></script></div>			
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script src="http://www.stumbleupon.com/hostedbadge.php?s=1&amp;r=http://jtgraphic.net/php-function-friday-function/"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Originally posted on jtGraphic.net: <a href="http://jtgraphic.net/php-function-friday-function/">PHP Function Friday: function</a></p>]]></content:encoded>
			<wfw:commentRss>http://jtgraphic.net/php-function-friday-function/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

