Lifestream - tagged with php http://life.ifabio.com/feed en-us http://blogs.law.harvard.edu/tech/rss Sweetcron me@ifabio.com Use Vim like an IDE - Vim Tips Wiki http://life.ifabio.com/items/view/1344/use-vim-like-an-ide-vim-tips-wiki ]]> Wed, 04 Aug 2010 04:54:11 -0700 http://life.ifabio.com/items/view/1344/use-vim-like-an-ide-vim-tips-wiki Vim Productivity Tips for PHP Developers - phly, boy, phly http://life.ifabio.com/items/view/1343/vim-productivity-tips-for-php-developers-phly-boy-phly ]]> Wed, 04 Aug 2010 02:24:16 -0700 http://life.ifabio.com/items/view/1343/vim-productivity-tips-for-php-developers-phly-boy-phly 100 Essential Web Development Tools - Noupe http://life.ifabio.com/items/view/1184/100-essential-web-development-tools-noupe ]]> Sun, 21 Mar 2010 13:54:50 -0700 http://life.ifabio.com/items/view/1184/100-essential-web-development-tools-noupe Supervisor http://life.ifabio.com/items/view/1096/supervisor ]]> Fri, 12 Feb 2010 05:17:45 -0800 http://life.ifabio.com/items/view/1096/supervisor OAuth — An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications. http://life.ifabio.com/items/view/1088/oauth-an-open-protocol-to-allow-secure-api-authorization-in-a-simple-and-standard-method-from-desktop-and-web-applications ]]> Wed, 10 Feb 2010 06:03:42 -0800 http://life.ifabio.com/items/view/1088/oauth-an-open-protocol-to-allow-secure-api-authorization-in-a-simple-and-standard-method-from-desktop-and-web-applications Facebook Developers | HipHop for PHP http://life.ifabio.com/items/view/1062/facebook-developers-hiphop-for-php ]]> Wed, 03 Feb 2010 06:09:20 -0800 http://life.ifabio.com/items/view/1062/facebook-developers-hiphop-for-php Pure CSS bar charts as a simple API http://life.ifabio.com/items/view/1013/pure-css-bar-charts-as-a-simple-api

I am right now working on a high-traffic project that will run in a sandbox that doesn't allow me to pull third party JavaScript or use canvas/Flash. Yet I need to generate bar charts from a set of data.

The solution to me was to create the charts from HTML using CSS. There have been some solutions for this problem already but I wanted something very simple and easy to maintain. Hence all the markup I am using is this: PLAIN TEXT XML:

<ul>

  <li><span>400</span></li>

  <li><span>20</span></li>

  <li><span>30</span></li>

  <li><span>233</span></li>

</ul>

Instead of hard-coding any of the trickery necessary I wrote a PHP script to generate the HTML, the styles and do all the math. So all that is needed to render one of the charts is the following code: PLAIN TEXT PHP:

<?php

  $values = '400,20,30,233,312,78,20,67';

  $height = 100;

  $width = 600;

  $bargap = 0;

  include('csscharts.php');

?>

Of course, this can also be turned into a web service - you can get the chart with the following URL: http://icant.co.uk/csscharts/csscharts.php?values=400,20,30,233,312,78,20,67&height=100&width=600&bargap=0 And if you specify JSON as the format you get it with a callback to a function called csscharts: http://icant.co.uk/csscharts/csscharts.php?values=400,20,30,233,312,78,20,67&format=json PLAIN TEXT [removed]

csscharts(

  {

    chart:"<ul class=\"barchart\" [… the rest of the html …]</ul>"

  }

)

That way you can use it in [removed] PLAIN TEXT [removed]

<script>

function csscharts(o){

  var container = document.getElementById('container');

  c[removed] = o.chart + c[removed];

}

</script>

<script src="http://icant.co.uk/csscharts/csscharts.php?values=400,20,30,233,312,78,20,67&format=json"></script>

You can see some demos here, get detailed info about the CSS trickery used and of course download the code on GitHub.

]]>
Fri, 15 Jan 2010 05:19:05 -0800 http://life.ifabio.com/items/view/1013/pure-css-bar-charts-as-a-simple-api
Symfony deployment Cheat Sheet http://life.ifabio.com/items/view/905/symfony-deployment-cheat-sheet ]]> Mon, 30 Nov 2009 02:25:05 -0800 http://life.ifabio.com/items/view/905/symfony-deployment-cheat-sheet AjaXplorer.info http://life.ifabio.com/items/view/847/ajaxplorerinfo ]]> Wed, 04 Nov 2009 07:21:44 -0800 http://life.ifabio.com/items/view/847/ajaxplorerinfo PHP Simple HTML DOM Parser http://life.ifabio.com/items/view/810/php-simple-html-dom-parser ]]> Wed, 21 Oct 2009 08:48:39 -0700 http://life.ifabio.com/items/view/810/php-simple-html-dom-parser 43 Ways to Optimize your PHP Code | OpenJason http://life.ifabio.com/items/view/690/43-ways-to-optimize-your-php-code-openjason ]]> Tue, 08 Sep 2009 14:31:34 -0700 http://life.ifabio.com/items/view/690/43-ways-to-optimize-your-php-code-openjason MDB2 Homepage http://life.ifabio.com/items/view/568/mdb2-homepage ]]> Wed, 17 Jun 2009 08:57:30 -0700 http://life.ifabio.com/items/view/568/mdb2-homepage Sympal http://life.ifabio.com/items/view/521/sympal ]]> Tue, 12 May 2009 01:06:41 -0700 http://life.ifabio.com/items/view/521/sympal SfDT - Symfony Development Tools, Eclipse plugin for symfony http://life.ifabio.com/items/view/520/sfdt-symfony-development-tools-eclipse-plugin-for-symfony ]]> Mon, 11 May 2009 03:07:37 -0700 http://life.ifabio.com/items/view/520/sfdt-symfony-development-tools-eclipse-plugin-for-symfony Install PHP5, lighttpd and Imagick on Mac OS X Leopard - david winter http://life.ifabio.com/items/view/482/install-php5-lighttpd-and-imagick-on-mac-os-x-leopard-david-winter ]]> Sun, 26 Apr 2009 08:40:25 -0700 http://life.ifabio.com/items/view/482/install-php5-lighttpd-and-imagick-on-mac-os-x-leopard-david-winter Web Development & Design Tutorials - NETTUTS http://life.ifabio.com/items/view/358/web-development-amp-design-tutorials-nettuts ]]> Thu, 19 Feb 2009 09:11:41 -0800 http://life.ifabio.com/items/view/358/web-development-amp-design-tutorials-nettuts 100 Best JavaScript Resources | Spoonfed Design http://life.ifabio.com/items/view/359/100-best-javascript-resources-spoonfed-design ]]> Thu, 19 Feb 2009 09:10:41 -0800 http://life.ifabio.com/items/view/359/100-best-javascript-resources-spoonfed-design Javascript equivalent for PHP's setrawcookie http://life.ifabio.com/items/view/357/javascript-equivalent-for-phps-setrawcookie ]]> Wed, 18 Feb 2009 02:33:03 -0800 http://life.ifabio.com/items/view/357/javascript-equivalent-for-phps-setrawcookie How to set third-party cookies with iframe | 3rd party cookies | p3p header | html | asp | jsp | php http://life.ifabio.com/items/view/351/how-to-set-third-party-cookies-with-iframe-3rd-party-cookies-p3p-header-html-asp-jsp-php ]]> Mon, 09 Feb 2009 08:38:23 -0800 http://life.ifabio.com/items/view/351/how-to-set-third-party-cookies-with-iframe-3rd-party-cookies-p3p-header-html-asp-jsp-php Doxygen http://life.ifabio.com/items/view/342/doxygen ]]> Tue, 27 Jan 2009 02:11:23 -0800 http://life.ifabio.com/items/view/342/doxygen