{"id":9504,"date":"2014-09-10T05:30:39","date_gmt":"2014-09-09T19:30:39","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=9504"},"modified":"2014-09-10T05:30:39","modified_gmt":"2014-09-09T19:30:39","slug":"php-blog-summary-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/php-blog-summary-primer-tutorial\/","title":{"rendered":"PHP Blog Summary Primer Tutorial"},"content":{"rendered":"<p><div style=\"width: 230px\" class=\"wp-caption alignnone\"><a id='apbspt' target=_blank href=\"http:\/\/rjmprogramming.com.au\/getmelist.htm\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"PHP Blog Summary Primer Tutorial\" src=\"http:\/\/rjmprogramming.com.au\/PHP\/blog_summary.jpg\" title=\"PHP Blog Summary Primer Tutorial\" style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">PHP Blog Summary Primer Tutorial<\/p><\/div><br \/>\nThere are two things that often happen for programmers:<\/p>\n<ul>\n<li>they break a job into its components (often immediately jumping to list the biggest &#8220;worry&#8221;)<\/li>\n<li>they look for ways to achieve the job faster and more reliably (ideas regarding code reuse both internally or externally)<\/li>\n<\/ul>\n<p>With this in mind today&#8217;s job, which is a <i>GETME code lister for this blog<\/i> (like a blog summary (updated every day, via cron\/curl)) had (or I wanted):<\/p>\n<ul>\n<li>sortable HTML tables<\/li>\n<li>data from Linux operating system<\/li>\n<\/ul>\n<p>To me the biggest &#8220;worry&#8221; with this job is the &#8220;sortable HTML tables&#8221; (spend far more time on client side work (&#8220;front end&#8221;) per unit of time of productivity than server-side work (&#8220;back end&#8221;)).  So, how about we start with a good code basis of &#8220;sortable HTML tables&#8221; &#8230; that&#8217;s why we&#8217;re showing you the <a target=_blank href='#pjjfoadpt' title='PHP\/Javascript JSON Feed or Array Data Primer Tutorial'>PHP\/Javascript JSON Feed or Array Data Primer Tutorial<\/a> below that we are.  Although it looks off-topic, it is very close code-wise, and this leads to another quality (or not) you may want, or not, to do with programming:<\/p>\n<ul>\n<li>do you mind the old <i><code>if (1 == 1) { }<\/code><\/i> (for code you show to be &#8220;back in favour&#8221;) vs <i><code>if (7 != 7) { }<\/code><\/i> or <i><code>if ((\"to be\" || \"not to be\") == \"that is the question\") { }<\/code><\/i> perhaps (for code that is &#8220;deliberately out of favour, but may be of interest, or come back into play later&#8221;)<\/i> ? &#8230; lots of programmers will not like this, some will be fine with this &#8230; am in the latter group, because, to me, it is like &#8220;the comment you make when you&#8217;re not making a comment&#8221;<\/li>\n<\/ul>\n<p>Back to the idea &#8230; we do a lot of code download offers with *GETME files here at this blog &#8230; so why not summarize all this in a sortable table?<\/p>\n<p>Link to some downloadable PHP programming code &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/getmelist.php_GETME' title='getmelist.php'>getmelist.php<\/a> as you wish and here is a link to the <a id='ahuh' target=_blank href=\"http:\/\/rjmprogramming.com.au\/getmelist.htm\" title=\"Click picture\">live run<\/a> and will leave you with the difference in code between this idea and the one of the code below with <a target=_blank title='getmelist.php differences' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/getme_list.php-GETME'>getmelist.php<\/a>.<\/p>\n<hr \/>\n<p id='pjjfoadpt'>Previous code-relevant tutorial called <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=9150' title='PHP\/Javascript JSON Feed or Array Data Primer Tutorial'>PHP\/Javascript JSON Feed or Array Data Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/rjmprogramming.com.au\/PHP\/JSON\/ArrayData\/json_array_post.php?ask=y\"><img decoding=\"async\" style=\"border: 15px solid pink;\" id='jsoni' onmouseover=' this.src = this.src.replace(\".jpg\",\".PNG\").replace(\".png\",\".jpg\").replace(\".PNG\",\".png\"); ' alt=\"PHP\/Javascript JSON Feed or Array Data Primer Tutorial\" src=\"http:\/\/rjmprogramming.com.au\/PHP\/JSON\/ArrayData\/PHP_JSON_ArrayData.png\" title=\"PHP\/Javascript JSON Feed or Array Data Primer Tutorial\" style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">PHP\/Javascript JSON Feed or Array Data Primer Tutorial<\/p><\/div>\n<p><a target=_blank title='JSON information from Wikipedia ... thanks' href='http:\/\/en.wikipedia.org\/wiki\/JSON'>JSON<\/a> is a very useful protocol because:<\/p>\n<ul>\n<li>There is a lot of support in Javascript and the server-side languages, such as PHP or ASP.Net, for JSON-friendly functionality.<\/li>\n<li>Many website <a target=_blank title='Feed information from Wikipedia ... thanks' href='http:\/\/en.wikipedia.org\/wiki\/Data_feed'>feeds<\/a> use JSON as their protocol (format) of choice.<\/li>\n<\/ul>\n<p><a target=_blank href=\"http:\/\/rjmprogramming.com.au\/PHP\/JSON\/ArrayData\/json_array_post.php?ask=y\" title='Click picture'>Today<\/a>&#8216;s live run is a simple interface to JSON incoming data and its presentation back to you, either as an HTML table element, or as a validator.  Of interest, are the two previous tutorials below.  We use an optional method of the first, and the same default input data (via <a target=_blank href='http:\/\/code.google.com\/apis\/ajax\/playground\/?type=visualization#json_data_table' title='Google Json Data Table'>Google Charts<\/a>) as the second:<\/p>\n<ol>\n<li><a target=_blank href='#jstpt' title='jQuery Sortable Table Primer Tutorial'>jQuery Sortable Table Primer Tutorial<\/a><\/li>\n<li><a target=_blank href='#pjhgcjdtet' title='PHP\/Javascript\/HTML Google Chart JSON Data Table Event Tutorial'>PHP\/Javascript\/HTML Google Chart JSON Data Table Event Tutorial<\/a><\/li>\n<\/ol>\n<p>Along the way, wanted to point out use of:<\/p>\n<ul>\n<li>Format of JSON data regarding <a target=_blank title='Array information from Wikipedia ... thanks' href='http:\/\/en.wikipedia.org\/wiki\/Array_data_type'>array<\/a> data &#8230; eg. <a target=_blank title='JSON data example live run, as a validator' href='http:\/\/rjmprogramming.com.au\/PHP\/JSON\/ArrayData\/json_array_post.php?jsondatais={\"a\":1,\"b\":2,\"c\":3,\"d\":4,\"e\":5}'><code>'{\"a\":1,\"b\":2,\"c\":3,\"d\":4,\"e\":5}'<\/code><\/a><\/li>\n<li>PHP <a target=_blank title='json_decode' href='http:\/\/php.net\/manual\/en\/function.json-decode.php'>json_decode()<\/a> method<\/li>\n<li>PHP <a target=_blank title='http_build_query' href='http:\/\/au2.php.net\/manual\/en\/function.http-build-query.php'>http_build_query()<\/a> method<\/li>\n<li>PHP <a target=_blank title='urldecode' href='http:\/\/php.net\/manual\/en\/function.urldecode.php'>urldecode()<\/a> method<\/li>\n<li>Use of an HTML onload Javascript click of an HTML form&#8217;s submit button to automate the use of <i>post<\/i>ed data &#8230; why <i>post<\/i> rather than <i>get<\/i>? &#8230; two reasons:<\/li>\n<ol>\n<li>better security<\/li>\n<li>there are limits to the amount of <i>get<\/i> data applied to your address bar urls that comes into play with <i>get<\/i> scenarios, but not with <i>post<\/i> scenarios\n<\/ol>\n<li>Usefulness of online resources such as the <a target=_blank title='JSONLint' href='http:\/\/jsonlint.com\/'>JSONLint<\/a> validator<\/li>\n<li>The attempts at genericity in the interface by converting <i>post<\/i>ed feed url data into an HTML table presentation (with sortable column data) via the recognition of search specifications for:<\/li>\n<ol>\n<li>table ID<\/li>\n<li>table heading data<\/li>\n<li>table cell data<\/li>\n<\/ol>\n<\/ul>\n<p>Here is a download link for some PHP programming source code you could call <a target=_blank title='json_array_post.php' href='http:\/\/rjmprogramming.com.au\/PHP\/JSON\/ArrayData\/json_array_post.php_GETME'>json_array_post.php<\/a><\/p>\n<p>Perhaps Ajax functionality with local JSON data sources is of interest to you, and if this is the case, have a peruse of <a target=_blank href='http:\/\/rjmprogramming.com.au\/wordpress\/?p=8052' title='Ajax Local JSON Primer Tutorial'>Ajax Local JSON Primer Tutorial<\/a> &#8230; anyway, hope something here is of interest to you.<\/p>\n<hr \/>\n<p id='jstpt'>Previous relevant <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=9094' title='jQuery Sortable Table Primer Tutorial'>jQuery Sortable Table Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Javascript\/jQuery\/SortableTable\/\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"jQuery Sortable Table Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Javascript\/jQuery\/SortableTable\/Sortable_Table.jpg\" title=\"jQuery Sortable Table Primer Tutorial\" style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">jQuery Sortable Table Primer Tutorial<\/p><\/div>\n<p>A lot of the things people like about the Web are to do with JavaScript and client-side activities. Adding to that experience are Javascript libraries packed full of features. Probably the best known of these is jQuery.<\/p>\n<p><p>Read more about the powerful jQuery Javascript library <a target=_blank title='jQuery spiritual home' href='http:\/\/jquery.com\/'>here<\/a> (at its spiritual home) and <a target=_blank title='jQuery information' href='http:\/\/en.wikipedia.org\/wiki\/jQuery'>here<\/a> (at Wikipedia).<\/p>\n<p>Regarding this topic I really like <em>&#8220;JavaScript &amp; Ajax&#8221; seventh edition by Tom Negrino and Dori Smith<\/em> pages 437 to 441. The code in this book was followed with quite a few changes. Why change a good thing &#8230; welllllll, want to show you some concepts\/ideas\/<strike>buffoonery<\/strike> which we&#8217;d like to present in pointy form below (you thought we were going to say &#8220;above&#8221; didn&#8217;t you? &#8230; go on! &#8230; admit it):<\/p>\n<ol>\n<li>Can include &#8220;old style&#8221; Javascript <i>&#8220;body onload&#8221;<\/i> code within jQuery <i>ready<\/i> functionality (just checking &#8230; because, personally, feel shy about combining the two worlds, but there is nothing wrong doing this, as we do today) &#8230;<\/li>\n<li>Function <i>onloading()<\/i> which is &#8220;old style&#8221; Javascript is the first thing called from jQuery <i>ready<\/i> code &#8230; why?<\/li>\n<ul>\n<li>First off please refer to today&#8217;s downloadable HTML\/Javascript\/jQuery code you could call <a target=_blank title='jQuery information' href='http:\/\/www.rjmprogramming.com.au\/Javascript\/jQuery\/SortableTable\/conjunction_sortable_table.html_GETME' title='conjunction_sortable_table'>conjunction_sortable_table.html<\/a><\/li>\n<li>Sometimes you want to use Javascript DOM techniques to dynamically load your document.body.innerHTML contents &#8230; so that, perhaps, you can read off a data source of some kind &#8230; wouldn&#8217;t PHP be sooooo great here?! &#8230; <i><b>Subtext translation: <\/b><\/i> the programmer is lazy and wanted to save coding time by taking an array from the previous tutorial called <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=8555' title='HTML\/Javascript Sentence Conjunction Game Tutorial'>HTML\/Javascript Sentence Conjunction Game Tutorial<\/a><\/li>\n<li>The jQuery <i>ready<\/i> code fires at the webpage&#8217;s body <i>onload<\/i> event, and you lose the ability to go <i>&lt;body onload=&#8217;onloading();&#8217;&gt;<\/i> but this doesn&#8217;t stop you plugging in onloading() up the top of your <i>ready<\/i> code &#8230; are you still awake?!<\/li>\n<li>Alternative approach is static HTML, and this is presented to you, but is commented out down the bottom of our <a target=_blank title='jQuery information' href='http:\/\/www.rjmprogramming.com.au\/Javascript\/jQuery\/SortableTable\/conjunction_sortable_table.html_GETME' title='conjunction_sortable_table'>code<\/a> provided today &#8230; by the way, HTML comment goes &lt;!&#8211; &#8230; &#8211;&gt;<\/li>\n<li> &#8230; and how was this derived when a View->Page Source doesn&#8217;t show it? &#8230;<\/li>\n<li> &#8230; use Firebug (or something like it) and point at the body tag and use &#8220;Copy innerHTML&#8221; to derive this (as per the tutorial&#8217;s <a target=_blank title='Tutorail picture' href='http:\/\/www.rjmprogramming.com.au\/Javascript\/jQuery\/SortableTable\/Sortable_Table.jpg'>picture<\/a>)<\/li>\n<\/ul>\n<li>Use of <i>cursor:pointer<\/i> style property to make a <i>span<\/i> tag, within an <i>h1<\/i> tag act like an <i>a<\/i> tag<\/li>\n<li>Recall of ready function for the addsome() Javascript bit awkward, in that code is repeated<\/li>\n<ul>\n<li>Maybe start reading <a target=_blank title='http:\/\/stackoverflow.com\/questions\/999092\/can-i-call-the-function-ready-again-in-jquery' href='http:\/\/stackoverflow.com\/questions\/999092\/can-i-call-the-function-ready-again-in-jquery'>http:\/\/stackoverflow.com\/questions\/999092\/can-i-call-the-function-ready-again-in-jquery<\/a> to see if you can do better<\/li>\n<\/ul>\n<\/ol>\n<p> Click <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/Javascript\/jQuery\/SortableTable\/'>on picture above<\/a> to go to jQuery page for a (live run) tutorial on the jQuery concept called Sortable Table. <\/p>\n<p>Link to jQuery information <a target=_blank title='jQuery information' href='http:\/\/en.wikipedia.org\/wiki\/jQuery'> &#8230; via Wikipedia<\/a>.<\/p>\n<p>Link to jQuery spiritual home page <a target=_blank title='jQuery spiritual home' href='http:\/\/jquery.com\/'> &#8230; via jQuery Foundation<\/a>.<\/p>\n<p>Link to the great third-party jQuery Sortable Table code is available from the <a target=_blank title='GitHub source control' href='https:\/\/github.com\/'>GitHub<\/a> source control resource <a target=_blank title='jQuery Sortable Table download from GitHib' href='https:\/\/github.com\/christianbach\/tablesorter'>here<\/a> which is a link from <a target=_blank title='jQuery Sortable Table project' href='http:\/\/tablesorter.com\/docs\/'>here<\/a> &#8230; thanks heaps &#8230; isn&#8217;t Open Source great?!<\/p>\n<p><b><i>Did you know?<\/i><\/b><\/p>\n<p>The tutorial picture today features the <a target=_blank href='http:\/\/www.mozilla.org\/en-US\/firefox\/new\/' title='Firefox home page'>Firefox<\/a> web browser and a very useful add-on called <a target=_blank title='Firebug home page' href='https:\/\/getfirebug.com\/'>Firebug<\/a> which you may want more information about <a target=_blank title='Firebug tutorials at this blog' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?tag=Firebug'>here<\/a>, which is commonly used to debug client-side Javascript and HTML.   As for today&#8217;s usage, Firebug is also extremely useful in deconstructing how a web page was created.   The other simple wonderful tool for this is the web browser&#8217;s equivalent menu command like View->Page Source (or sometimes equivalent of right-click Page Source).   Firebug has a sister product called <a target=_blank title='FirePHP home page' href='http:\/\/www.firephp.org\/'>FirePHP<\/a> which helps debug server-side PHP and Ajax <a target=_blank title='FirePHP tutorials at this blog' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?tag=Firephp'>work<\/a>.<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d9094' onclick='var dv=document.getElementById(\"d9094\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?s=jQuery\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d9094' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr \/>\n<p id='pjhgcjdtet'>Previous relevant <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=8464' title='PHP\/Javascript\/HTML Google Chart JSON Data Table Event Tutorial'>PHP\/Javascript\/HTML Google Chart JSON Data Table Event Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/json_data_table_events.php?infile=Google_Chart_Intensity_Chart_Tutorial_as.CSV\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"PHP\/Javascript\/HTML Google Chart JSON Data Table Event Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/Json_Data_Table_Events.jpg\" title=\"PHP\/Javascript\/HTML Google Chart JSON Data Table Event Tutorial\" \/><\/a><p class=\"wp-caption-text\">PHP\/Javascript\/HTML Google Chart JSON Data Table Event Tutorial<\/p><\/div>\n<p>Here is a tutorial that re-introduces you to Google Graphs API, or Google Chart Tools, and its JSON Data Table functionality which we talked about last time with <a href=\"#pjhgcjdtioct\"  title=\"PHP\/Javascript\/HTML Google Chart JSON Data Table Import of CSV Tutorial\">PHP\/Javascript\/HTML Google Chart JSON Data Table Import of CSV Tutorial<\/a> as shown below.  Today we extend the functionality talk by adding some event logic for when we click on a table row.<\/p>\n<blockquote><p>Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.<\/p><\/blockquote>\n<p>Thanks to the World Bank for some <a target=_blank title='World Bank data' href='http:\/\/wdi.worldbank.org\/table\/2.1'>statistics<\/a> which helped a lot.<\/p>\n<p>Let&#8217;s see some  <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/json_data_table_events.php?infile=Google_Chart_Intensity_Chart_Tutorial_as.CSV'>PHP<\/a> code in live action for this tutorial where you see a JSON Data Table derived from a filename passed as a parameter in the URL.   The data shown is based on a CSV file of a previous <a <a href=\"#pjhgcimt\">PHP\/Javascript\/HTML Google Chart Intensity Map Tutorial<\/a> shown below.<\/p>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools JSON Data Table information &#8230; <a target=_blank href='http:\/\/code.google.com\/apis\/ajax\/playground\/?type=visualization#json_data_table' title='Google Json Data Table'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Event information &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/events' title='Google Data Table Events'>via Google<\/a>.<\/p>\n<p>Link to some downloadable PHP programming code &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/chart_editor_in.php_GETME' title='Download me'>chart_editor_in.php<\/a>.<br \/>\nLink to some downloadable PHP programming code &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/json_data_table_events.php-GETME' title='Download me'>json_data_table_events.php<\/a>.<br \/>\nLink to some downloadable input CSV data &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/intensity_chart.csv_GETME' title='Download me'>Google_Chart_Intensity_Chart_Tutorial_as.CSV<\/a>.\n<\/p>\n<p>Here is the way we got from the tutorial logic below to this tutorial&#8217;s source code&#8217;s logic <a target=_blank title='mystore.html' href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/json_data_table_events.php-GETME\">here<\/a>.<\/p>\n<hr \/>\n<p id='pjhgcjdtioct'>Previous  <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=3770\" title=\"PHP\/Javascript\/HTML Google Chart JSON Data Table Import of CSV Tutorial\">PHP\/Javascript\/HTML Google Chart JSON Data Table Import of CSV Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/json_data_table.php?infile=Google_Chart_Intensity_Chart_Tutorial_as.CSV\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"PHP\/Javascript\/HTML Google Chart JSON Data Table Import of CSV Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/Json_Data_Table.jpg\" title=\"PHP\/Javascript\/HTML Google Chart JSON Data Table Import of CSV Tutorial\" \/><\/a><p class=\"wp-caption-text\">PHP\/Javascript\/HTML Google Chart JSON Data Table Import of CSV Tutorial<\/p><\/div>\n<p>Here is a tutorial that introduces you to Google Graphs API, or Google Chart Tools, and its JSON Data Table functionality.<\/p>\n<blockquote><p>Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.<\/p><\/blockquote>\n<p>Thanks to the World Bank for some <a target=_blank title='World Bank data' href='http:\/\/wdi.worldbank.org\/table\/2.1'>statistics<\/a> which helped a lot.<\/p>\n<p>Let&#8217;s see some  <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/json_data_table.php?infile=Google_Chart_Intensity_Chart_Tutorial_as.CSV'>PHP<\/a> code in live action for this tutorial where you see a JSON Data Table derived from a filename passed as a parameter in the URL.   The data shown is based on a CSV file of a previous <a <a href=\"#pjhgcimt\">PHP\/Javascript\/HTML Google Chart Intensity Map Tutorial<\/a> shown below.<\/p>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools JSON Data Table information &#8230; <a target=_blank href='http:\/\/code.google.com\/apis\/ajax\/playground\/?type=visualization#json_data_table' title='Google Json Data Table'>via Google<\/a>.<\/p>\n<p>Link to some downloadable PHP programming code &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/chart_editor_in.php_GETME' title='Download me'>chart_editor_in.php<\/a>.<br \/>\nLink to some downloadable PHP programming code &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/json_data_table.php_GETME' title='Download me'>json_data_table.php<\/a>.<br \/>\nLink to some downloadable input CSV data &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/ChartEditor\/intensity_chart.csv_GETME' title='Download me'>Google_Chart_Intensity_Chart_Tutorial_as.CSV<\/a>.\n<\/p>\n<hr \/>\n<p id='pjhgcimt'>Previous  <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/IntensityChart\/intensity_chart.php\" title=\"PHP\/Javascript\/HTML Google Chart Intensity Map Tutorial\">PHP\/Javascript\/HTML Google Chart Intensity Map Tutorial<\/a> below &#8230;<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/IntensityChart\/intensity_chart.php\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"PHP\/Javascript\/HTML Google Chart Intensity Map Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/IntensityChart\/Intensity_Map.jpg\" title=\"PHP\/Javascript\/HTML Google Chart Intensity Map Tutorial\" \/><\/a><p class=\"wp-caption-text\">PHP\/Javascript\/HTML Google Chart Intensity Map Tutorial<\/p><\/div>\n<p>Here is a tutorial that introduces you to Google Graphs API, or Google Chart Tools, and its Intensity Map functionality.<\/p>\n<blockquote><p>Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.<\/p><\/blockquote>\n<p>Thanks to the World Bank for some <a target=_blank title='World Bank data' href='http:\/\/wdi.worldbank.org\/table\/2.1'>statistics<\/a> which helped a lot.<\/p>\n<p>Let&#8217;s see some  <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/IntensityChart\/intensity_chart.php'>PHP<\/a> code in live action for this tutorial where you define your intensity map characteristics and data.<\/p>\n<p>Now part of an Android App called <a target=_blank title='Android App GeoChart++' href='https:\/\/play.google.com\/store\/apps\/details?id=com.rjmprogramming.geochart.plusplus#?t=W251bGwsMSwyLDIxMiwiY29tLnJqbXByb2dyYW1taW5nLmdlb2NoYXJ0LnBsdXNwbHVzIl0.'>Geo Chart++<\/a> in July 2013.<\/p>\n<p>Link to Google Chart Tools &#8220;spiritual home&#8221; &#8230; <a target=_blank href='https:\/\/developers.google.com\/chart\/interactive\/docs\/index' title='Google Chart Tools provide a perfect way to visualize data on your website. From simple line charts to complex hierarchical tree maps, the chart galley provides a large number of well-designed chart types. Populating your data is easy using the provided client- and server-side tools.\n'>via Google<\/a>.<br \/>\nLink to Google Chart Tools Intensity Map information &#8230; <a target=_blank href='http:\/\/code.google.com\/apis\/ajax\/playground\/?type=visualization#intensity_map' title='Google Geo Charts'>via Google<\/a>.<\/p>\n<p>Link to some downloadable PHP programming code &#8230; rename to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/IntensityChart\/intensity_chart.php_GETME' title='Download me'>intensity_chart.php<\/a>.\n<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d2995' onclick='var dv=document.getElementById(\"d2995\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?s=Google+Chart#content\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d2995' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr \/>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d3770' onclick='var dv=document.getElementById(\"d3770\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?s=Google+Chart#content\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d3770' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr \/>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d8464' onclick='var dv=document.getElementById(\"d8464\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?tag=PHP + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d8464' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr \/>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d9150' onclick='var dv=document.getElementById(\"d9150\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?tag=JSON\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d9150' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr \/>\n<p><script type='text\/javascript'>\n var currentdate = new Date();\n var xdatetime = currentdate.getDay()+currentdate.getMonth() + currentdate.getFullYear() + currentdate.getHours() + currentdate.getMinutes() + currentdate.getSeconds();\n document.getElementById('apbspt').href =  document.getElementById('apbspt').href + '?datetime=' + xdatetime;\n document.getElementById('ahuh').href =  document.getElementById('ahuh').href + '?datetime=0' + xdatetime;\n<\/script><\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d9504' onclick='var dv=document.getElementById(\"d9504\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?tag=exec\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d9504' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>There are two things that often happen for programmers: they break a job into its components (often immediately jumping to list the biggest &#8220;worry&#8221;) they look for ways to achieve the job faster and more reliably (ideas regarding code reuse &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/php-blog-summary-primer-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,29,31,33,37],"tags":[41,151,327,405,430,663,666,707,885,932,997,1174,1319],"class_list":["post-9504","post","type-post","status-publish","format-standard","hentry","category-elearning","category-operating-system","category-projects","category-software","category-tutorials","tag-_server","tag-blog","tag-did-you-know","tag-exec","tag-file_put_contents","tag-jquery","tag-json_decode","tag-linux","tag-operating-system-2","tag-php","tag-programming","tag-sortable","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/9504"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=9504"}],"version-history":[{"count":0,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/9504\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=9504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=9504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=9504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}