<?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/"
	>

<channel>
	<title>Jeff Adams</title>
	<atom:link href="http://www.jeffadams.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jeffadams.co.uk</link>
	<description>freelance web designer, essex, uk</description>
	<pubDate>Wed, 27 Jan 2010 23:02:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sharp Admin Template</title>
		<link>http://www.jeffadams.co.uk/2010/01/27/sharp-admin-template/</link>
		<comments>http://www.jeffadams.co.uk/2010/01/27/sharp-admin-template/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 22:53:45 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=357</guid>
		<description><![CDATA[Sharp Admin is the ultimate  CMS  or administration template for the professionals. It comes with 5 themes but you can easily make your own, modification is simple and with it using jQuery UI it has some awesome functions such as accordion, tabs and sortable lists.
It&#8217;s now available for sale over at Themeforest at [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Sharp Admin is the ultimate  CMS  or administration template for the professionals.</strong> It comes with 5 themes but you can easily make your own, modification is simple and with it using jQuery UI it has some awesome functions such as accordion, tabs and sortable lists.</p>
<p>It&#8217;s now available for sale over at <a href="http://themeforest.net/item/sharp-admin-template/83085?ref=username">Themeforest</a> at only $10 dollars for members, or $12 for non-members.<em></em><a href="http://themeforest.net/item/sharp-admin-template/83085?ref=username"><em></em></a></p>
<p>It’s ideal for content management systems, website backends or as a standalone skin for a web application.</p>
<p>It’s been tested in all major browsers, and comes with a well commented help file to help you hit the ground running.<strong></strong></p>
<p>The theme also comes with a Login Page as well as pages for typography, forms and demos of other features (try clicking the navigation items in the live preview)</p>
<ul>
<li>Semantic, valid  XHTML  and  CSS</li>
<li>4 Themes (or make your own)</li>
<li>Well commented code</li>
<li> WYSIWYG  Editor</li>
<li>Sortable Tables</li>
<li>Powered by jQuery &amp; jQuery UI</li>
<li>Accordion</li>
<li>Tabs</li>
<li>Sortable List</li>
<li>Calendar Control</li>
<li>Cross-browser compatible</li>
<li>Closable Notifications with smooth animation</li>
<li>Styled Forms, Headings and Tables</li>
<li>Clean and Simple Design</li>
<li> CUFON  Font Replacement</li>
</ul>

<a href='http://www.jeffadams.co.uk/2010/01/27/sharp-admin-template/2_black_grey/' title='2_black_grey'><img src="http://www.jeffadams.co.uk/wp-content/uploads/2010/01/2_black_grey-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.jeffadams.co.uk/2010/01/27/sharp-admin-template/3_red_green_blue/' title='3_red_green_blue'><img src="http://www.jeffadams.co.uk/wp-content/uploads/2010/01/3_red_green_blue-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.jeffadams.co.uk/2010/01/27/sharp-admin-template/4_login_boxes/' title='4_login_boxes'><img src="http://www.jeffadams.co.uk/wp-content/uploads/2010/01/4_login_boxes-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.jeffadams.co.uk/2010/01/27/sharp-admin-template/5_themed_icons/' title='5_themed_icons'><img src="http://www.jeffadams.co.uk/wp-content/uploads/2010/01/5_themed_icons-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.jeffadams.co.uk/2010/01/27/sharp-admin-template/1_preview-2/' title='1_preview'><img src="http://www.jeffadams.co.uk/wp-content/uploads/2010/01/1_preview-150x150.jpg" width="150" height="150" class="attachment-thumbnail" alt="" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2010/01/27/sharp-admin-template/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Silky Admin Template</title>
		<link>http://www.jeffadams.co.uk/2009/11/18/silky-admin-template/</link>
		<comments>http://www.jeffadams.co.uk/2009/11/18/silky-admin-template/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 19:02:23 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[SEO]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=351</guid>
		<description><![CDATA[Hey,  just wanted to let you all know my latest theme &#8220;Silky Admin Template&#8221; that just got approved and is now for sale over at www.themeforest.net.
Silky Admin Template is a professional backend interface that you can use for all sorts of web applications, content management solutions or even a website of your own. It comes [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,  just wanted to let you all know my latest theme &#8220;Silky Admin Template&#8221; that just got approved and is now for sale over at www.themeforest.net.</p>
<p>Silky Admin Template is a professional backend interface that you can use for all sorts of web applications, content management solutions or even a website of your own. It comes with a variety of colours and useful jQuery additions, not to mention having FLOT Chat included so you can start developing right away.<span id="more-351"></span></p>
<p>Here is a big screenshot of the theme, but please do check out the live preview and screenshots over at the items Themeforest page.</p>
<p><a href="http://themeforest.net/item/silky-admin/70703"></a><a href="http://themeforest.net/item/silky-admin/70703"><img class="alignright size-full wp-image-349" title="bigthumb" src="http://www.jeffadams.co.uk/wp-content/uploads/2009/11/bigthumb.jpg" alt="bigthumb" width="488" height="584" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2009/11/18/silky-admin-template/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Super Simple Admin Theme</title>
		<link>http://www.jeffadams.co.uk/2009/11/01/super-simple-admin-theme/</link>
		<comments>http://www.jeffadams.co.uk/2009/11/01/super-simple-admin-theme/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 11:17:09 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Business]]></category>

		<category><![CDATA[Design]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Add new tag]]></category>

		<category><![CDATA[admin]]></category>

		<category><![CDATA[Clean]]></category>

		<category><![CDATA[Inspiration]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=337</guid>
		<description><![CDATA[My Admin Template - &#8220;Super Simple Admin Theme&#8221; got accepted on Themeforest.net last night, so I wanted to write a quick post to show some screenshots and obviously provide you guys with a link to the theme so you can see for yourselves.
The theme is a clean and simple admin backend template, and I&#8217;ve sprinkled [...]]]></description>
			<content:encoded><![CDATA[<p>My Admin Template - &#8220;Super Simple Admin Theme&#8221; got accepted on Themeforest.net last night, so I wanted to write a quick post to show some screenshots and obviously provide you guys with a link to the theme so you can see for yourselves.</p>
<p>The theme is a clean and simple admin backend template, and I&#8217;ve sprinkled in a few jQuery powered options such as tabs, sortable tables and notification boxes - not to mention a modal dialog box (Facebox).</p>
<p>Check the theme out here: <a href="http://tinyurl.com/yfpevzs"><strong>http://tinyurl.com/yfpevzs</strong></a> or scroll down and check the screenshots out!!!</p>
<p><span id="more-337"></span>Please feel free to leave some comments, it&#8217;s always appreciated.</p>
<p><strong><a href="http://www.jeffadams.co.uk/wp-content/uploads/2009/11/2_aqua_blue.jpg"><img class="alignnone size-full wp-image-339" title="2_aqua_blue" src="http://www.jeffadams.co.uk/wp-content/uploads/2009/11/2_aqua_blue.jpg" alt="2_aqua_blue" width="534" height="240" /></a></strong></p>
<p><strong><a href="http://www.jeffadams.co.uk/wp-content/uploads/2009/11/3_green_red.jpg"><img class="alignnone size-full wp-image-340" title="3_green_red" src="http://www.jeffadams.co.uk/wp-content/uploads/2009/11/3_green_red.jpg" alt="3_green_red" width="534" height="240" /></a></strong></p>
<p><strong><a href="http://www.jeffadams.co.uk/wp-content/uploads/2009/11/4_purple_pink.jpg"><img class="alignnone size-full wp-image-341" title="4_purple_pink" src="http://www.jeffadams.co.uk/wp-content/uploads/2009/11/4_purple_pink.jpg" alt="4_purple_pink" width="534" height="240" /></a></strong></p>
<p><strong><a href="http://www.jeffadams.co.uk/wp-content/uploads/2009/11/6_code.jpg"><img class="alignnone size-full wp-image-343" title="6_code" src="http://www.jeffadams.co.uk/wp-content/uploads/2009/11/6_code.jpg" alt="6_code" width="363" height="314" /></a></strong></p>
<p>CHECK OUT THE LIVE PREVIEW OF THIS THEME: -<a href="http://tinyurl.com/yfpevzs"> <strong>http://tinyurl.com/yfpevzs</strong></a></p>
<p><strong><br />
</strong></p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2009/11/01/super-simple-admin-theme/feed/</wfw:commentRss>
		</item>
		<item>
		<title>10 Beautiful and Free Fonts</title>
		<link>http://www.jeffadams.co.uk/2009/10/08/10-beautiful-and-free-fonts/</link>
		<comments>http://www.jeffadams.co.uk/2009/10/08/10-beautiful-and-free-fonts/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 20:00:10 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Freebies]]></category>

		<category><![CDATA[font]]></category>

		<category><![CDATA[Free]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=322</guid>
		<description><![CDATA[Over at woorkup.com I came across a nifty blog post which had 10 free fonts that I a) hadn&#8217;t heard of before and b) were stunning! I quickly went about trying to write up my own blog post, but ended up copy/pasting his images here (shameful I know). Anyway here they are in all their [...]]]></description>
			<content:encoded><![CDATA[<p>Over at <a href="http://woorkup.com/2009/09/28/10-beautiful-and-free-must-have-serif-fonts/">woorkup.com</a> I came across a nifty blog post which had 10 free fonts that I a) hadn&#8217;t heard of before and b) were stunning! I quickly went about trying to write up my own blog post, but ended up copy/pasting his images here (shameful I know). Anyway here they are in all their glory - please go and visit the main blog that these came from and be sure to say thanks yourselves.</p>
<h3>Calluna Regular</h3>
<p><a href="http://new.myfonts.com/fonts/exljbris/calluna/"><img title="Calluna" src="http://woorkup.com/wp-content/uploads/2009/09/calluna-font1.jpg" alt="Calluna" width="461" height="140" /></a></p>
<h3><span id="more-322"></span>Medio</h3>
<p><a href="http://www.dotcolon.net/font/font.php?id=3"><img class="alignnone size-full wp-image-128" title="Medio" src="http://woorkup.com/wp-content/uploads/2009/09/medio-font1.png" alt="Medio" width="461" height="140" /></a></p>
<h3>Jura</h3>
<p><a href="http://www.tenbytwenty.com/products/typefaces/jura"><img class="alignnone size-full wp-image-133" title="Jura" src="http://woorkup.com/wp-content/uploads/2009/09/jura-font1.jpg" alt="Jura" width="461" height="140" /></a></p>
<h3>Fontin</h3>
<p><a href="http://www.josbuivenga.demon.nl/fontin.html"><img class="alignnone size-full wp-image-134" title="Fontin" src="http://woorkup.com/wp-content/uploads/2009/09/fontin-font1.jpg" alt="Fontin" width="461" height="140" /></a></p>
<h3>Sling</h3>
<p><a href="http://www.dafont.com/sling.font"><img class="alignnone size-full wp-image-136" title="Sling" src="http://woorkup.com/wp-content/uploads/2009/09/sling-font1.jpg" alt="Sling" width="461" height="140" /></a></p>
<h3>Lido STF</h3>
<p><a href="http://new.myfonts.com/fonts/storm/lido-stf/regular/"><img class="alignnone size-full wp-image-138" title="Lido" src="http://woorkup.com/wp-content/uploads/2009/09/lido-font1.jpg" alt="Lido" width="461" height="140" /></a></p>
<h3>Salernomi</h3>
<p><a href="http://www.dafont.com/salernomi-j.font"><img class="alignnone size-full wp-image-140" title="Salernomi" src="http://woorkup.com/wp-content/uploads/2009/09/salernomi-font1.jpg" alt="Salernomi" width="461" height="140" /></a></p>
<h3>Novello Pro</h3>
<p><a href="http://www.dafont.com/novello-pro.font"><img class="alignnone size-full wp-image-141" title="Novello" src="http://woorkup.com/wp-content/uploads/2009/09/novello-font.jpg" alt="Novello" width="461" height="140" /></a></p>
<h3>Steinem</h3>
<p><a href="http://www.urbanfonts.com/fonts/Steinem.htm"><img class="alignnone size-full wp-image-143" title="Steinem" src="http://woorkup.com/wp-content/uploads/2009/09/steinem-font1.jpg" alt="Steinem" width="461" height="140" /></a></p>
<h3>TeX Gyre Schola</h3>
<p><a href="http://www.fontsquirrel.com/fonts/TeX-Gyre-Schola"><img class="alignnone size-full wp-image-144" title="Tex Gyre Schola" src="http://woorkup.com/wp-content/uploads/2009/09/tex-gyre-font1.jpg" alt="Tex Gyre Schola" width="461" height="140" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2009/10/08/10-beautiful-and-free-fonts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>178 Pixel-Perfect &amp; Free Icons: WooFunction</title>
		<link>http://www.jeffadams.co.uk/2009/10/03/178-pixel-perfect-free-icons-woofunction/</link>
		<comments>http://www.jeffadams.co.uk/2009/10/03/178-pixel-perfect-free-icons-woofunction/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 10:35:16 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Freebies]]></category>

		<category><![CDATA[Icons]]></category>

		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Free]]></category>

		<category><![CDATA[Icon]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=315</guid>
		<description><![CDATA[WooFunction is a set of 178 beautiful icons that are created by Liam McKay for WooThemes.
Icons are available in 32*32px (some are 16*16px) &#38; in transparent PNG format.
This set is awesome, plus if you are building a web application there is enough in there for you to use for most tasks. One of my pet-peeves [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.woothemes.com/2009/09/woofunction/" target="_blank"><strong>WooFunction</strong></a> is a <strong>set of 178 beautiful icons</strong> that are created by <a href="http://wefunction.com/" target="_blank">Liam McKay</a> for <strong>WooThemes</strong>.<span id="more-315"></span></p>
<p>Icons are available in 32*32px (some are 16*16px) &amp; in <strong>transparent PNG</strong> format.</p>
<p>This set is awesome, plus if you are building a web application there is enough in there for you to use for most tasks. One of my pet-peeves with free icons is that there might not be that one icon you REALLY need - no issues with that here!</p>
<p>The set is very suitable to be used in web applications as it has all the vital icons like actions, arrows, documents, users &amp; more</p>
<p>Link: <a href="http://www.woothemes.com/2009/09/woofunction/" target="_blank">http://www.woothemes.com/2009/09/woofunction/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2009/10/03/178-pixel-perfect-free-icons-woofunction/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nice &amp; Clean Sliding Login Panel built with jQuery</title>
		<link>http://www.jeffadams.co.uk/2009/10/03/nice-clean-sliding-login-panel-built-with-jquery/</link>
		<comments>http://www.jeffadams.co.uk/2009/10/03/nice-clean-sliding-login-panel-built-with-jquery/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 10:27:31 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Freebies]]></category>

		<category><![CDATA[Inspiration]]></category>

		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[Design]]></category>

		<category><![CDATA[Free]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=312</guid>
		<description><![CDATA[I&#8217;ve been searching for a decent, well designed login page for one of my projects when I across this from Web-Kreation.
It&#8217;s basically a jQuery driven login form, that slides down stylishly to allow for a login form and it even has a registration part to it!I don&#8217;t want to go into too  much detail because [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been searching for a decent, well designed login page for one of my projects when I across this from Web-Kreation.</p>
<p>It&#8217;s basically a jQuery driven login form, that slides down stylishly to allow for a login form and it even has a registration part to it!<span id="more-312"></span>I don&#8217;t want to go into too  much detail because you go <a href="http://web-kreation.com/index.php/tutorials/nice-clean-sliding-login-panel-built-with-jquery/">visit the site yourself</a></p>
<p>It&#8217;s ideal if you only have sections of your site that need registration, it wouldn&#8217;t be so good for sites that require login from the front page, but it is very stylish and I like that it&#8217;s out the way yet still is pretty easy to find.</p>
<p>The folks at web-kreation have all the downloads for you to play with it yourself, and they even do a little bit of step-by-step with the code behind it.</p>
<p>If like me you&#8217;ve been looking for something like this for a while, this could answer all yor headaches - check it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2009/10/03/nice-clean-sliding-login-panel-built-with-jquery/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Awesome Web Site Admin Templates</title>
		<link>http://www.jeffadams.co.uk/2009/09/27/awesome-web-site-admin-templates/</link>
		<comments>http://www.jeffadams.co.uk/2009/09/27/awesome-web-site-admin-templates/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 21:17:42 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Inspiration]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=293</guid>
		<description><![CDATA[Okay so I&#8217;ve had to update this post since I originally wrote about it, but in a good way because I&#8217;m pleased to be able to tell you that I have TWO Admin Skins (Backend Interfaces) now available for sales over at at Themeforest. They are both priced between $10-15 which means that for the [...]]]></description>
			<content:encoded><![CDATA[<p>Okay so I&#8217;ve had to update this post since I originally wrote about it, but in a good way because I&#8217;m pleased to be able to tell you that I have TWO Admin Skins (Backend Interfaces) now available for sales over at at Themeforest. They are both priced between $10-15 which means that for the price of a pizza you get a fully functional template for your next client backend, CMS or web development project.</p>
<h2><a href="http://themeforest.net/item/silky-admin/70703">a. Silky Admin</a></h2>
<p><img class="alignnone" src="http://s3.envato.com/files/209934/screenshots/1_Preview.__large_preview.jpg" alt="" width="590" height="300" /></p>
<p>Silky Admin is a professional admin backend. It’s a super clean and lightweight interface that comes with various jQuery functions to make your life easier – try the demo!</p>
<p>The theme is  FLOT  Chart ready and has 7 different skins! (or create your own!)</p>
<p>The theme also comes with a Login Page, plus here are the main features:</p>
<ul>
<li>7 Themes (or make your own)</li>
<li>Semantic, valid  XHTML  and  CSS</li>
<li>Well commented code</li>
<li> WYSIWYG  Editor</li>
<li>Sortable Tables</li>
<li>Powered by jQuery</li>
<li>Cross-browser compatible</li>
<li>Modal window</li>
<li>Closable Notifications with smooth animation</li>
<li>Styled Forms, Headings and Tables</li>
<li>Clean and Simple Design</li>
</ul>
<h2><a href="http://themeforest.net/item/super-simple-admin-theme/67660">b. Super Simple Admin Theme</a></h2>
<p><a href="http://themeforest.net/item/super-simple-admin-theme/67660"><img class="alignnone" src="http://s3.envato.com/files/200191/1_Preview.__large_preview.jpg" alt="" width="590" height="300" /></a></p>
<p>Super Simple Admin Theme is what it says on the tin – it’s a simple and clean backend admin interface and comes with various jQuery functions to enchance the experience – try the demo! The theme comes with extensive help and 8 Themes (or why not create your own – the help file tells you how!).</p>
<p>There are two pages to this theme – a login page and the main demo page.</p>
<ul>
<li>8 Themes (or make your own)</li>
<li>Semantic, valid  XHTML  and  CSS</li>
<li>Well commented code</li>
<li>Liquid layout – content resizes to the user’s window</li>
<li>Powered by jQuery</li>
<li>Cross-browser compatible</li>
<li>Modal window</li>
<li>Closable Notifications with smooth animation</li>
<li>Styled Forms, Headings and Tables</li>
<li>Clean and Simple Design</li>
</ul>
<h2><a href="http://themeforest.net/item/admintasiapowerful-backend-admin-user-interface/57479">1. Admintasia-Powerful backend admin user interface</a></h2>
<p>Making use of a darker background, this template really draws the user into the page and what is important about this type of template - it&#8217;s getting things done.</p>
<p><img class="alignnone" title="Admintasia-Powerful backend admin user interface" src="http://s3.envato.com/files/168619/1_preview.__large_preview.jpg" alt="" width="531" height="270" /></p>
<h2><a href="http://themeforest.net/item/adminnano/20408"><span id="more-293"></span>2. AdminNano</a></h2>
<p>Colourful and making good use of confirmation-like boxes, it shows the potential buyer how easily it is to incorporate into a sites back end or CMS system. I particularly liked the login bar on the top right hand corner - it&#8217;s touches like that which make it easier for a designer to make a decision to buy.</p>
<h2><img class="alignnone" title="AdminNano" src="http://s3.envato.com/files/53352/AdminNanoScreenshots/1_Homepage.__large_preview.jpg" alt="" width="531" height="270" /></h2>
<h2><a href="http://themeforest.net/item/deep-admin/24620">3. Deep Admin</a></h2>
<p>This template has a nice accordion effect side menu which allows it to fit more into a smaller space, very important if your website backend has alot of functionality. The graphing visuals are helpful but shouldn&#8217;t be misleading for this isn&#8217;t part of the template it&#8217;s purely to show what could be done.</p>
<h2><img class="alignnone" title="Deep Admin" src="http://s3.envato.com/files/65441/1_dashboard.__large_preview.jpg" alt="" width="531" height="270" /></h2>
<h2><a href="http://themeforest.net/item/executivo-admin-skin/33373">4. Executivo - Admin Skin</a></h2>
<p>This template clearly separates the sidebar from the main content, and looks more like a desktop application which I actually like. It shows that in actual fact the sidebar, not the content is perhaps more important in these admin templates.</p>
<h2><img class="alignnone" title="Executivo - Admin Skin" src="http://s3.envato.com/files/92770/1_main.__large_preview.png" alt="" width="531" height="270" /></h2>
<h2><a href="http://themeforest.net/item/just-admin-theme-simple-admin-panel-solution/50047">5. Just Admin Theme - Simple Admin Panel Solution</a></h2>
<p>The visuals are great, not my cup of tea but I can imagine clients will love it - they&#8217;re like familiar icons they see every day in their other applications. Again this template makes use of the confirmation boxes, though this one also has a login page that comes with the template thus eliminating another design question.</p>
<h2><img class="alignnone" title="Just Admin Theme - Simple Admin Panel Solution" src="http://s3.envato.com/files/148211/01.__large_preview.jpg" alt="" width="531" height="270" /></h2>
<h2><a href="http://themeforest.net/item/quik-v1-admin-skin/17314">6. Quik v1 Admin Skin</a></h2>
<p>Simplicity is key in this design, and I like it that way. It&#8217;s giving you the bare bones such as the layout and typography CSS to get you on your way.</p>
<h2><img class="alignnone" title="Quik v1 Admin Skin" src="http://s3.envato.com/files/44557/1_green.__large_preview.jpg" alt="" width="531" height="270" /></h2>
<h2><a href="http://themeforest.net/item/clean-website-administration-template/26500">7. Clean Website Administration Template</a></h2>
<p>The colour schemes on hand here make this template really good value if you do a lot of client back-end works, because you can easily pick a colour they prefer or corporate colours - or even go in and do your own as it looks quite easy to modify. This template makes good use of the space it has, and they all so far seem to have similar navigation though this one to me looks much more natural.</p>
<h2><img class="alignnone" title=" Clean Website Administration Template" src="http://s3.envato.com/files/70809/01_Colors.__large_preview.jpg" alt="" width="531" height="270" /></h2>
<h2><a href="http://themeforest.net/item/liteadmin-web-application-skin/18455">8. LiteAdmin - Web Application Skin</a></h2>
<p>A template with a more polished feel to it, showing off a sidebar and how it could be used. It does make use of confirmation boxes, but only in two colours - I guess you could always add your own. Typography is taken care of and demos of different headings make it easier to see how it could fit into your own projects.</p>
<h2><img class="alignnone" title="LiteAdmin - Web Application Skin" src="http://s3.envato.com/files/54259/liteadmin_screenshots/1_fullelements.__large_preview.jpg" alt="" width="531" height="270" /></h2>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2009/09/27/awesome-web-site-admin-templates/feed/</wfw:commentRss>
		</item>
		<item>
		<title>5 Reasons to Love PHP</title>
		<link>http://www.jeffadams.co.uk/2009/09/27/5-reasons-to-love-php/</link>
		<comments>http://www.jeffadams.co.uk/2009/09/27/5-reasons-to-love-php/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 17:59:08 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=289</guid>
		<description><![CDATA[I’m currently learning PHP, I don’t claim to be an expert but I do tend to specialise ain the areas I use for my projects but lately I’ve really started to see how PHP is so much better than say ASP or even ASP.Net.
Don’t get me wrong, I’m sure if I knew those languages properly [...]]]></description>
			<content:encoded><![CDATA[<p>I’m currently learning PHP, I don’t claim to be an expert but I do tend to specialise ain the areas I use for my projects but lately I’ve really started to see how PHP is so much better than say ASP or even ASP.Net.</p>
<p>Don’t get me wrong, I’m sure if I knew those languages properly and spent hours training in it, I might have a different opinion but considering I knew very little programming before starting PHP here are five reasons so far that I love it.</p>
<h3>1)    It Makes Sense</h3>
<p>This is a big issue for me, I can read someone else’s code and understand roughly what they are trying to do, it seems more logical than ASP which seemed to me more bloated for the simple tasks like connecting to a database which leads me nicely to…<span id="more-289"></span></p>
<h3>2)    MySQL Integration</h3>
<p>I’m not getting into the argument of which is better or why, but trust me in that having spent years using MS Access for my databases, I found it quite an easy transition plus with PHP it makes it so easy to connect to the databases, security is dealt with and in general I just found it so much smoother and straight forward which is what it should be.</p>
<p>Also another thing I loved about it is that I didn’t need to have some sort of driver path or connections file that I never really understood – PHP lets me do this literally in a few steps by just telling it what the database is called, what table you want and then the username and password to log in.</p>
<p>After that, queries are pretty straightforward to master for most tasks. SQL is not that hard for 90% of things you want to do with the database.</p>
<h3>3)    jQuery Works Nicely</h3>
<p>The ability to slip between HTML and PHP made me appreciate the power of jQuery because now I can call PHP pages, get a post back and update my pages – basically make AJAX calls and it generally just works without too much effort on my part.</p>
<p>I know jQuery would work with ASP but to be honest, I haven’t a clue how to call an ASP file, do something then post back. I’m sure it’s a lot easier with ASP.net but hey – it would have to be seriously easier for me to take this one off the list.</p>
<h3>4)    It’s Free</h3>
<p>That’s right – it’s absoloutly free! It’s open source which means it’s open for everyone to develop their own stuff on it from frameworks to save you time to fully fledged free versions of favourite applications.</p>
<p>Everyone loves free right?</p>
<h3>5)    Error Handling</h3>
<p>Obviously you still get errors in development, but it’s generally a lot more user friendly that asp – which in my experience gave me a really vague error code, told me the line but didn’t tell me what I was looking for.</p>
<p>PHP tells me what it expected, what line and what it could be. I can then go to that line, look at the type of error its throwing out – like if it expected  a number, if it’s missing a quote or something. I’ll do anything for an easy life.</p>
<h3>Conclusion</h3>
<p>Okay so this post is pretty small and I’m sure there will be some of you who are reading thinking “I prefer ASP.net” and that’s totally fine too – I’m only sharing my experiences to date, and so far it’s winning by a long shot. I did try learning ASP.net before anyone asls, but I got so bogged down with procedures, sub procedures and it generally didn’t make my life very fun lol.</p>
<p>Fingers crossed the next post won’t be “5 Things I Hate About PHP”.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2009/09/27/5-reasons-to-love-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Designing for Essentials</title>
		<link>http://www.jeffadams.co.uk/2009/09/26/designing-for-essentials/</link>
		<comments>http://www.jeffadams.co.uk/2009/09/26/designing-for-essentials/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 17:52:48 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Business]]></category>

		<category><![CDATA[Design]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=282</guid>
		<description><![CDATA[The reason for this blog post really is to educate clients on what they can have as part of their web design projects and why they are being quoted every different numbers from different designers or agencies.
 
1. The Cheapest
 
If you have a really tight budget, going with the cheapest isn&#8217;t necessarily such a [...]]]></description>
			<content:encoded><![CDATA[<p><!--[endif]--><span lang="EN-GB">The reason for this blog post really is to educate clients on what they can have as part of their web design projects and why they are being quoted every different numbers from different designers or agencies.<span id="more-282"></span></span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<h3 class="MsoNormal"><span lang="EN-GB">1. The Cheapest</span></h3>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">If you have a really tight budget, going with the cheapest isn&#8217;t necessarily such a bad idea. You will only get an average looking website, and chances are if you ever want a redesign you&#8217;ll need a brand new site again rather than being able to tweak what is already there.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">Not a good option if you want to be able to upload your own content, have online shops or rank well in the search engines.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">Why are they cheap? This could be a number of factors from them being based abroad to them being in the mum and dads back bedroom - this really doesn&#8217;t make a difference but with these kinds of designers the quality of their work should really be checked out.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<h3 class="MsoNormal"><span lang="EN-GB">2. The Most Expensive</span></h3>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">There&#8217;s nothing wrong with charging more than others in the field if you have a proven track record of delivering great websites.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">Agencies will often have higher overheads, but they&#8217;ll deliver your site quicker.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">Finally, the most expensive might be thinking about your website and business as having all bells and whistles when it comes to the latest technology. Pay for what you need not what they want to line their pockets with.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<h3 class="MsoNormal"><span lang="EN-GB">3. The Freelancer</span></h3>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">I&#8217;m bound to be biased towards this type of designer being as I am one myself, but even so there are clients that just don&#8217;t gel with freelancers adn these are often he larger businesses who expect to treat them like employees - and it jus doesn&#8217;t work out for this very reason. Micro-management and design by committee is a guarantee that the website will fail.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">Where the freelancer wins however is when they can give you, the client, a one-to-one relationship and make sure you are getting what you want. Often, they&#8217;ll only have 2-3 projects on at a time and the passion is usually evident in there work.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">Recommended for all businesses that appreciate that they are hiring an expert in the field, not jus someone to rearrange some images on a page for them.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<h3 class="MsoNormal"><span lang="EN-GB">4. The Family Friend</span></h3>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">There is nothing, I repeat NOTHING wrong with having a family member or family friend do your website for you - for all I know, they could be awesome!</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">By Family Friend, I mean the type of designer who oftentimes isn&#8217;t being paid and lets face it you get a sub-par site but you get it for a low-price</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<h3 class="MsoNormal"><span lang="EN-GB">What Do You Need?</span></h3>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">So with these in mind, you have to really ask yourself what you need?</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">Most websites fail to attract visitors because oftentimes there is not enough quality content for the site to work or the client expects the web designer to provide the content - this is like asking your bank manager to provide the money for the account he is handling for you, it&#8217;s a no brainer.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<h3 class="MsoNormal"><span lang="EN-GB">Content is King</span></h3>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">You can Google this as much as you like as there will be hundreds of blog posts about how good quality content will bring visitors and it&#8217;s true. Take my website for example - I created this blog because as a freelancer, I didn&#8217;t have the content to showcase immediately so to showcase my expertise in the field I decided to write these posts. Simples.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<h3 class="MsoNormal"><span lang="EN-GB">Conclusion</span></h3>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">The reality factor is this - you get what you pay for. If you skimp on your website, you&#8217;re effectively throwing the money down the drain since most people look online these days anyway.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">Write content from day one. If you are planning on selling items, you&#8217;ll need descriptions for the products, you&#8217;ll need introduction text for the site, the about<span> </span>pages need to be written. Starting these as soon as your projects starts enables you to see it online and then make the changes you need before the site goes live - content really is king. Plus, it gives you a few months for Google to crawl your site and index before you officially go live.</span></p>
<p class="MsoNormal"><span lang="EN-GB"> </span></p>
<p class="MsoNormal"><span lang="EN-GB">Good designers aren&#8217;t cheap, but they really are worth their weight in gold - they&#8217;ll advice you of what they think you will benefit the most, but also be mindful of people who try to up sell you things you really don&#8217;t need.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2009/09/26/designing-for-essentials/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Auto Suggest with PHP &amp; jQuery</title>
		<link>http://www.jeffadams.co.uk/2009/08/31/auto-suggest-with-php-jquery/</link>
		<comments>http://www.jeffadams.co.uk/2009/08/31/auto-suggest-with-php-jquery/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 16:37:02 +0000</pubDate>
		<dc:creator></dc:creator>
		
		<category><![CDATA[Freebies]]></category>

		<category><![CDATA[Inspiration]]></category>

		<category><![CDATA[Tips]]></category>

		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[Clean]]></category>

		<category><![CDATA[jquery]]></category>

		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.jeffadams.co.uk/?p=267</guid>
		<description><![CDATA[Auto Suggest with PHP &#38; jQuery
Building a database driven auto suggestion box with PHP/MySql and jQuery. We&#8217;re going to check what a user has typed in, check against what is in our database and where there is a match, pass the results back in a suggestion list, all via an AJAX call in jQuery.
An Autocomplete [...]]]></description>
			<content:encoded><![CDATA[<h2>Auto Suggest with PHP &amp; jQuery</h2>
<p>Building a database driven auto suggestion box with PHP/MySql and jQuery. We&#8217;re going to check what a user has typed in, check against what is in our database and where there is a match, pass the results back in a suggestion list, all via an AJAX call in jQuery.</p>
<p>An Autocomplete widget using PHP and jQuery. We&#8217;re going to connect to check what a user has typed in, then go away and check from our database whether there is a match and then pass it back into a suggestion list, all via an AJAX call from jQuery.</p>
<p><span id="more-267"></span></p>
<h3>Overview</h3>
<ul>
<li><strong>Program</strong>: PHP/MySql &amp; jQuery</li>
<li><strong>Difficulty:</strong>Beginner/Intermediate</li>
<li><strong>Estimated Completion Time:</strong> 25-30 mins<!--more--></li>
</ul>
<h3>The Aim</h3>
<p>The aim of this tutorial is to create an input box which users can search our products database. If you&#8217;ve followed any of my other tutorials you&#8217;ll know I use bands as an example.</p>
<p>What we want to do is when the user types a letter, it triggers some jQuery which will use an AJAX call to our php page which simply searches the database for a match using a wildcard. In SQL, the percentage(%) sign is the wildcard so if we wanted to search for a band then typing &#8220;Michael&#8221; would bring up all the matching artists that start with Michael - so you might get Michael Jackson, Michael Jordan, Michael Moore. You get the idea.</p>
<p>When the search is complete, each matched record is put into it&#8217;s own list items and presented to the user. The user can click any of the results and it will automatically fill our input box with the records text.</p>
<p>Here is a graphical diagram of what we are going to be building:</p>
<p><a href="http://www.jeffadams.co.uk/wp-content/uploads/2009/08/001.jpg"><img class="alignnone size-full wp-image-268" title="001" src="http://www.jeffadams.co.uk/wp-content/uploads/2009/08/001.jpg" alt="001" width="480" height="174" /></a></p>
<h3>Step 1 - Layout</h3>
<p>Now you have seen what we are going to build, create a new file called &#8220;index.htm&#8217;&#8221; and if you haven&#8217;t already, fill it out with all your usual HTML markup (doc types, head, body etc).</p>
<p>Okay so first of all we need to link to our &#8220;scripts.js&#8221; file and also the jQuery file. You can use a local version of jQuery if you want, I generally use the one hosted by Google.</p>
<p>We also need to include our &#8220;styles.css&#8221; file. You can copy the below into your HEAD section of the page.</p>
<p>You&#8217;ll need to create a styles.css file and put in a css folder.</p>
<pre class="html">&lt;script type="text/javascript" src="js//jquery.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="js/scripts.js"&gt;&lt;/script&gt;
&lt;link href="css/styles.css" rel="style sheet" type="text/css" /&gt;</pre>
<p>Now that we have dealt with the links to our external files, we can concentrate on setting up our container divs.</p>
<p>We&#8217;re going to use a container div to float everything to the center of the page. Within our container div we then need a form and an input box - this is where the user will enter their search string.</p>
<p>We then put in our suggestion div, but we are careful to set it&#8217;s display property to &#8220;none&#8221;. This means that it will not be shown on the page to begin with. We&#8217;ll be using jQuery to set its visibility later. I&#8217;ll put the code below, but effectively all we are doing is having a container for the search results, then another div to hold all our list items. I&#8217;ve added a little up-arrow in between for aesthetics but it&#8217;s not really essential.</p>
<p>The full code for our &#8220;index.html&#8221; file looks like this:</p>
<pre class="html"> &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
 &lt;head&gt;
 &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
 &lt;title&gt;Autosuggest with jQuery and PHP&lt;/title&gt;
 &lt;script type="text/javascript" src="js/jquery.min.js"&gt;&lt;/script&gt;
 &lt;script type="text/javascript" src="js/scripts.js"&gt;&lt;/script&gt;
 &lt;link href="css/styles.css" rel="style sheet" type="text/css" /&gt;
 &lt;/head&gt;
 &lt;body&gt;&lt;!-- Container to hold our Suggestion Box--&gt;
 &lt;div id="container"&gt;
 &lt;form&gt;
 &lt;div&gt;
 &lt;h3&gt;Band Name&lt;/h3&gt;
 &lt;input type="text" size="30" value="" id="inputString"
onkeyup="lookup(this.value);" onblur="fill();" /&gt;
 &lt;/div&gt;
 &lt;!-- hide our suggestion box to begin with--&gt;
 &lt;div class="suggestionsBox" id="suggestions" style="display: none;"&gt;
 &lt;img src="upArrow.png" style="position: relative; top: -18px; left: 30px;" alt="upArrow" /&gt;
 &lt;div class="suggestionList" id="autoSuggestionsList"&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;/form&gt;
 &lt;/div&gt;&lt;/body&gt;
 &lt;/html&gt;</pre>
<p>So that&#8217;s our &#8220;index.html&#8221; file sorted - easy right? It&#8217;s important to note the name our our input box - &#8220;inputString&#8221; as we&#8217;re about to use jQuery to latch onto this and then pass it to our php file.</p>
<h3>Step 2 - The jQuery</h3>
<p>The jQuery is really the middle-man of the process, it&#8217;s going to handle all the front-end stuff e.g. what the user see&#8217;s.</p>
<p>Lets have a look at what we want the jQuery to do:</p>
<ul>
<li>Check for an inputted string and hide the suggestion box if &lt; 0</li>
<li>If not blank, make an AJAX call t our &#8220;string_search.php&#8221; file and pass it a variable containing the string.</li>
<li>If the search is successful, return the data and show our suggestion box.</li>
</ul>
<p>Okay so that&#8217;s not so hard right? Lets get started.</p>
<p>Check for input string - we&#8217;re going to use <strong><em>inputString.length == 0</em></strong> and if true, we&#8217;ll hide our &#8220;#suggestionbox&#8221;. The beauty of jQuery is it uses similar syntax to css!</p>
<p>If there is a string (e.g. the user has typed something) then we&#8217;ll use the $.post AJAX call to pass the string the user entered to our &#8220;search_string.php&#8221; file. Since this I function, we can use a call back when the database search is complete that will make our suggestion box visible, and then append the results into it.</p>
<p>Finally, when the user clicks an item we&#8217;re going to fill our input box with that value. To do this, we&#8217;re going to use the onClick event in our search_string.php file that will call this function. This is how jQuery knows when to trigger the code.</p>
<p>All this code is below, along with comments to talk you through it.</p>
<pre class="javascript">function lookup(inputString) {
 if(inputString.length == 0) {
 // Hide the suggestion box.
 	$('#suggestions').hide();
 } else {
 // post data to our php processing page and if there is a return greater than zero
 // show the suggestions box
 $.post("string_search.php", {mysearchString: ""+inputString+""}, function(data){
	 if(data.length &gt;0) {
	 	$('#suggestions').show();
 		$('#autoSuggestionsList').html(data);
 }
 });
 }
 } //end

 // if user clicks a suggestion, fill the text box.
 function fill(thisValue) {
 $('#inputString').val(thisValue);
 	setTimeout("$('#suggestions').hide();", 200);
 }</pre>
<p>As you can see, jQuery is our link between our front end (what the user sees) and our back end (the php file that will search the database and return the files).</p>
<h3>Step 2 - CSS Styling</h3>
<p>I&#8217;m going to just dump the full CSS that I used below and you can modify as you see fit. There are some points to remember though:</p>
<ul>
<li>suggestionsBox is the box that your list items will end up in</li>
<li>suggestsions li is the list items themselves</li>
<li>suggestions li:hover is the styling applied on hover</li>
</ul>
<p>That&#8217;s it, aside from making sure the input is the same width as our suggestions box, and I&#8217;ve made its position absolute to ensure it doesn&#8217;t push any content underneath down the page - this is optional depending on your needs.</p>
<p>So here is the final CSS:</p>
<pre class="html">body {
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 11px;
 color: #000;
 background-color: #eeeeee;
 }h3 {
 padding: 0px;
 font-size: 23px;
 margin-top: 0px;
 margin-right: 0px;
 margin-bottom: 5px;
 margin-left: 0px;
 color: #000000;
 }#container {
 width: 250px;
 margin-right: auto;
 margin-left: auto;
 margin-top: 25px;
 margin-bottom: 0px;
 padding: 20px;
 -moz-border-radius: 10px;
 -webkit-border-radius: 10px;
 }
 /*  Styling for Suggestion Box Container  */
 .suggestionsBox {
 position: absolute;
 width: 240px;
 background-color: #212427;
 border: 2px solid #000;
 color: #fff;
 padding: 5px;
 margin-top: 10px;
 margin-right: 0px;
 margin-bottom: 0px;
 margin-left: 0px;
 -moz-border-radius: 8px;
 -webkit-border-radius: 8px;
 }#inputString {
 width: 240px;
 padding: 5px;
 font-size: 18px;}
 .suggestionList {
 margin: 0px;
 padding: 0px;
 }
 /*  Individual Search Results  */
 .suggestionList li {
 margin: 0px 0px 3px 0px;
 padding: 7px;
 cursor: pointer;
 -moz-border-radius: 3px;
 -webkit-border-radius: 3px;
 list-style-type: none;
 }/*  Hover effect  */
 .suggestionList li:hover {
 background-color: #009900;
 font-weight: bold;
 }</pre>
<p>So now we have our index.html file which has our input box, we have the css file to style the box and the returned suggestiions, we have our jQuery file listening for user keystrokes and we have our php file - string_search.php which handles the database connections and searching.</p>
<p>To give you a bit of a visual of the process, here is a very basic diagram of what is happening here:</p>
<p><a href="http://www.jeffadams.co.uk/wp-content/uploads/2009/08/002.jpg"><img class="alignnone size-full wp-image-269" title="002" src="http://www.jeffadams.co.uk/wp-content/uploads/2009/08/002.jpg" alt="002" width="480" height="234" /></a></p>
<h3>Step 3 - The PHP Magic</h3>
<p>Okay so we now have our front end page - index.html, our jQuery file - scripts.js and now we need to write the php that will connect to our database, search for any records containing the input string and then echo out a list item for each result.</p>
<p>Create a file called &#8220;string_search.php&#8221; and we&#8217;ll be using this for this part of the tutorial.</p>
<p>Before we do anything, we need to connect to database. We could use a separate file for this, and it&#8217;d be good practice to do so however for sake of simplicity I&#8217;ll include it in the same file.</p>
<pre class="php">// since this is a one page tutorial
// we're not separating out the database connection
$db_host 		= 'localhost';
$db_user 		= 'root';
$db_password 	= '';
$db_name 		= 'products';

$db = new mysqli($db_host , $db_user ,$db_password, $db_name);</pre>
<p>Now we are connected, we need to:</p>
<ul>
<li>Assign the &#8220;mysearchString&#8221; passed from jQuery to a variable.</li>
<li>Use this variable in our SQL statement -  we can use the percent symbol as or wildcard.</li>
<li>Loop through the results and put each one into it&#8217;s own list item.</li>
</ul>
<p>That&#8217;s basically it, there&#8217;s nothing really complicated in this approach although I am sure many of you will have much more robust methods of achieving the same results.</p>
<p>Lets first check to see what what the user entered, and then put this into a variable:</p>
<pre class="php">// Check the user has typed something in our input box.
 if(isset($_POST['mysearchString'])) {
 $mysearchString = $db-&gt;real_escape_string($_POST['mysearchString']);</pre>
<p>So now we&#8217;ve stored the search string to a variable, we need to run a query on our database:</p>
<pre class="php">$query = $db-&gt;query("SELECT product_title
 FROM products
 WHERE product_title
 LIKE '$mysearchString%'
 LIMIT 10"); // limits our results list to 10.</pre>
<p>This query is only pulling the product_title from our products table - in a real world situation you&#8217;d obviously change these to be your own field and table names, and you&#8217;d most likely use some form of protection against sql injection. For the sake of keeping things simple, I&#8217;m going to leave this as it is.</p>
<p>Finally, we need to take each record returned from the query and echo it out into a list item that will be in our suggestionbox. We also need to attach an onClick event to the list items, which will trigger our jQuery for filling in the input box with our result.</p>
<pre class="php">if($query) {

 // so while there are results from the query
 // we loop through the results and fill out our list items

 while ($result = $query -&gt;fetch_object()) {

 // create a list item, but also listen for the user clicking
 // the result so we can fill the text box.
 echo '&lt;li onClick="fill(\''.$result-&gt;product_title.'\');"&gt;'.$result-&gt;product_title.'&lt;/li&gt;';
 }
 } else {
 echo 'ERROR: There was a problem with the query.';
 }</pre>
<p>And that&#8217;s it! The final string_search.php file is below which you might want to copy and paste as a whole as I&#8217;ve been selective in the code snippets I&#8217;ve shown you.</p>
<pre class="php">&lt;?php

 // since this is a one page tutorial
 // we're not separating out the database connection$db_host 		= 'localhost';
 $db_user 		= 'root';
 $db_password 	= '';
 $db_name 		= 'sampledb';

 $db = new mysqli($db_host , $db_user ,$db_password, $db_name);if(!$db) {
 // If there is an error, show this message.
 echo 'There was a problem connecting to the database';
 } else {
 // Check the user has typed something in our input box.
 if(isset($_POST['mysearchString'])) {
 $mysearchString = $db-&gt;real_escape_string($_POST['mysearchString']);

 // Is the string length greater than 0?

 if(strlen($mysearchString) &gt;0) {

 // Now we have the string the user entered, we want to
 // be able to use this to search in our database
 // so we use the percentage as the wildcard and use a variable
 // in the query.

 $query = $db-&gt;query("SELECT product_title
 FROM products
 WHERE product_title
 LIKE '$mysearchString%'
 LIMIT 10"); // limits our results list to 10.

 if($query) {

 // so while there are results from the query
 // we loop through the results and fill out our list items

 while ($result = $query -&gt;fetch_object()) {

 // create a list item, but also listen for the user clicking
 // the result so we can fill the text box.
 echo '&lt;li onClick="fill(\''.$result-&gt;product_title.'\');"&gt;'.$result-&gt;product_title.'&lt;/li&gt;';
 }
 } else {
 echo 'ERROR: There was a problem with the query.';
 }
 } else {
 // Dont do anything.
 }
 } else {
 echo 'Access denied.';
 }
 }
 ?&gt;</pre>
<h3>Summary</h3>
<p>We now have a working autocomplete input box that uses a database for it&#8217;s suggestions. It&#8217;s probably not a great idea to use it on a large scale database since we are doing lots of db calls every time a user enters a letter but for small to medium size sites, or maybe a web application then it&#8217;s idea.</p>
<p>It&#8217;s important to note that features like this are enhancements to a website but shouldn&#8217;t be relied upon, for if JavaScript is switched off none of this would show up to the user.</p>
<p>It always amazes me how little coding we had to do to achieve this, and that&#8217;s mainly down to AJAX and how simple jQuery makes it for us. It wasn&#8217;t so long ago that we had to rely on separate search and results pages.</p>
<p>I hope you&#8217;ve enjoyed this tutorial, feel free to leave some comments as I&#8217;m sure alot of you will have your own improvements to make.</p>
<p><a href="http://www.jeffadams.co.uk/downloads/autoComplete.zip">[DOWNLOAD SOURCE FILES HERE]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeffadams.co.uk/2009/08/31/auto-suggest-with-php-jquery/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Code -->
