Using PHP and CSS to make a simple graph

phpgraph

Here’s an easy way to display a simple percentage graph using PHP to work out the percentages and do the maths and CSS to display the data on our page. Here’s the demo.

First you need to copy the CSS below into the head of your page, you can style this to suit your needs once we have the PHP in place to render our graph.

.clear{
clear:both;}

.graphcont {
padding-top:10px;
color:#000;
font-weight:700;
float:left
}

.graph {
float:left;
margin-top:10px;
background-color:#cecece;
position:relative;
width:280px;
padding:0
}

.graph .bar {
display:block;
position:relative;
background-image:url(images/bargraph.gif);
background-position:right center;
background-repeat:repeat-x;
border-right:#538e02 1px solid;
text-align:center;
color:#fff;
height:25px;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
line-height:1.9em
}

.graph .bar span {
position:absolute;
left:1em
}

I used this graph on a project that required users to rate a video. They could give the video a plus or a minus rating, the values are then converted into percentages, the plus percentage is then put into the CSS width of the div, creating the bar graph, in my previous project I had two graphs to represent how many plus votes and how many minus votes were cast, this is just a simple example of how to create a dynamic graph with PHP.


$plus = 138;
$minus = 59;

$totalnumber = $plus + $minus;

$pluspercent = round(($plus / $totalnumber) * 100);
$minuspercent = round(($minus / $totalnumber) * 100);

$total = round($plus + $minus);
$totalVotes += $total;

     echo '<div class="rating"><div class="graphcont">The average rating of '.$pluspercent.'% is based on '.$totalVotes.' votes<div class="graph"><strong class="bar" style="width:'.$pluspercent.'%;">'.$pluspercent.'%</strong></div></div>

  </div>

<div class="clear"></div>
';

demodemo

This entry was posted in CSS, Downloads, PHP, Tutorials and tagged , , , . Bookmark the permalink.
Comments
17 discussions around Using PHP and CSS to make a simple graph
  1. Pingback: 126 Usable CSS Graph and Bar Chart Tutorials and Techniques : Speckyboy - Web Design, Web Development and Graphic Design Resources

  2. Pingback: CSSでさくっと作れるグラフいろいろ - IDEA*IDEA ~ 百式管理人のライフハックブログ ~

  3. Pingback: 16 Usable CSS Graph and Bar Chart Tutorials and Techniques | guidesigner.com

  4. Pingback: 16 Usable CSS Graph and Bar Chart Tutorials and Techniques « All things beautiful

  5. AzeriFire says:

    Bookmarked! Thank you!

  6. Pingback: 16 Usable CSS Graph and Bar Chart Tutorials and Techniques - Code Index

  7. Pingback: 50+ Essential Techniques and Tools for Visualizing your Data | tripwire magazine

  8. Pingback: tripwire magazine | tripwire magazine

  9. Paul Bremer says:

    I used this method in my school project, you can see it @ http://bit.ly/11Aa8s

  10. Ashley says:

    @paul thanks for letting me know you used it in your project! looking good, glad you found it useful :)

  11. Pingback: Are you want to create CSS Bar Graphs and Star Rater?

  12. Pingback: 70 + Tools for Visualizing your Data, CSS, Flash, jQuery, PHP | tripwire magazine

  13. Pingback: 75+ Tools for Visualizing your Data, CSS, Flash, jQuery, PHP | Afif Fattouh - Web Specialist

  14. Pingback: 155+ Mega CSS Roundup of Tools, Tutorials, Cheat Sheets etc. | tripwire magazine

  15. Brandon Goodin says:

    I’ve been looking for something like this for the past couple of weeks. Here at work, we’re installing a 42″ tv to display current production reports. This code was exactly what I was looking for. Thank you for sharing!

  16. Pingback: 185+ Very Useful and Categorized CSS Tools, Tutorials, Cheat Sheets | tripwire magazine

  17. Pingback: easypoll a side project | Papermashup.com

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribers
1,250
Twitter
510
Comments
1,207
Posts
125