<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Reading data from a database</title><link rel="stylesheet" type="text/css" href="manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.0"><link rel="home" href="index.html" title="JpGraph Manual"><link rel="up" href="ch13.html" title="Chapter 13. Getting hold of the data to be displayed"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Reading data from a database</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center">Chapter 13. Getting hold of the data to be displayed</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="sect1" title="Reading data from a database"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2538964"></a>Reading data from a database</h2></div></div></div> <p>Since there are so many databases and so many ways to organize data in tables it is impossible to give generic examples. Instead we point out some common pitfalls when gathering data from a database.</p> <p> </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"> <p>Make sure the data is valid numeric data. It is a common mistake to read <code class="code">NULL</code> (or empty strings "") values and try to plot them. Beware that the PHP function <code class="code">empty()</code> also will return true for 0 and "0" values so it is not enough to just test with <code class="code">empty()</code> since this will also remove all values that happens to be valid 0 values. To avoid this use the following modified empty method.</p> <p> </p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1 2 3 4 5 </pre></td><td class="hl-main" valign="top"><pre><span class="hl-code">function empty0($aValue){ if ( !is_numeric(trim($aValue)) ) return empty($aValue); return false; }</span></pre></td></tr></table></div><p> </p> </li><li class="listitem"> <p>Some databases (e.g. MySQL) returns a column with decimal type values as string in a SELECT statement which normally is handled by automatic conversion in PHP but since PHP has different interpretation of "0.00" and 0.00 in respect to what is interpreted as empty or not this needs to be carefully handled.</p> </li></ul></div><p> </p> </div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"><a accesskey="u" href="ch13.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>