Hello asgallant, I see your still very active in helping other people which 
is very kind of you!

Since you've last helped me, I've added just a couple of minor things but 
I'm still trying to figure out how to dynamically change/pass a value to 
the sql string so as it can plot the chart from different data. The two 
files I'm still using are 'chart.php' & 'chartdata.php'. How do I get 
chart.php to pass this variable and have the data file receive it? The sql 
fields are the same, it's just the column 'id_testKey' that will dictate 
what data is requested.

José

On Wednesday, October 17, 2012 5:40:15 PM UTC-7, asgallant wrote:
>
> You're welcome.
>
> On Wednesday, October 17, 2012 7:06:01 PM UTC-4, Jose wrote:
>>
>> Thank you very much, that helped! Now I'll use other chart options to 
>> fine tune it a bit to look similar to my excel charts.
>> Really appreciate the help asgallant!
>>
>> On Wednesday, October 17, 2012 10:31:40 AM UTC-7, asgallant wrote:
>>>
>>> D'oh!  My mistake, I did change something else.  The (float) typing 
>>> converts null into 0, so you have to test for null and handle it specially. 
>>>  In your php file, the while loop should look like this:
>>>
>>> while($r = mysql_fetch_assoc($sth)) {
>>> $temp = array();
>>> $temp[] = array('v' => (float) $r['PsiBar']); 
>>> $temp[] = array('v' => (is_null($r['prodPerct1'])) ? null : (float) 
>>> $r['prodPerct1']); 
>>> $temp[] = array('v' => (is_null($r['prodPerct2'])) ? null : (float) 
>>> $r['prodPerct2']); 
>>> $temp[] = array('v' => (is_null($r['prodPerct3'])) ? null : (float) 
>>> $r['prodPerct3']); 
>>> $rows[] = array('c' => $temp);
>>> }
>>>
>>> although, since your data is already in numerical form (and thus you 
>>> don't have to force it to be type float), you can go with the simpler:
>>>
>>> while($r = mysql_fetch_assoc($sth)) {
>>> $temp = array();
>>> $temp[] = array('v' => $r['PsiBar']); 
>>> $temp[] = array('v' => $r['prodPerct1']); 
>>> $temp[] = array('v' => $r['prodPerct2']); 
>>> $temp[] = array('v' => $r['prodPerct3']); 
>>> $rows[] = array('c' => $temp);
>>> }
>>>
>>> It's also a good idea to force the mime type to application/json by 
>>> setting the header, before you echo the json:
>>>
>>> header("Content-type: application/json");
>>> echo $jsonTable;
>>>
>>> On Wednesday, October 17, 2012 10:54:15 AM UTC-4, asgallant wrote:
>>>>
>>>> I used your code exactly as it appears in the files you posted, except 
>>>> for the modifications mentioned.  I didn't save a copy, though, so I can't 
>>>> post them back.  I'll see if I can duplicate it later today.
>>>>
>>>> On Wednesday, October 17, 2012 10:11:01 AM UTC-4, Jose wrote:
>>>>>
>>>>> Asgallant, I tried it again and still the same results, although I did 
>>>>> add that var option but it didn't help. I'm wondering if its something 
>>>>> else 
>>>>> in your scripts/code that is different than mine. If you could post 
>>>>> those, 
>>>>> that would be great.
>>>>> As another non sufficient way, could three separate SQL calls be made 
>>>>> then plot the results onto the same chart?
>>>>>
>>>>> On Tuesday, October 16, 2012 10:16:00 AM UTC-7, asgallant wrote:
>>>>>>
>>>>>> I duplicated your table and ran the query, and Method 2 looked right 
>>>>>> to me.  I had to make 1 small change to the SQL to make it run (but that 
>>>>>> could be a quirk of my MySQL install), and 1 change to the chart 
>>>>>> options. 
>>>>>>  The SQL looked like this:
>>>>>>
>>>>>> SELECT 
>>>>>> foo.PsiBar,
>>>>>> IF(prodPerct1 = 0, null, foo.prodPerct1) as prodPerct1,
>>>>>> IF(prodPerct2 = 0, null, foo.prodPerct2) as prodPerct2,
>>>>>> IF(prodPerct3 = 0, null, foo.prodPerct3) as prodPerct3
>>>>>> FROM (
>>>>>> SELECT
>>>>>> PsiBar,
>>>>>> SUM(IF(id_sample = 1, prodPerct, null)) AS prodPerct1,
>>>>>> SUM(IF(id_sample = 2, prodPerct, null)) AS prodPerct2,
>>>>>> SUM(IF(id_sample = 3, prodPerct, null)) AS prodPerct3
>>>>>> FROM tbl_dilution
>>>>>> GROUP BY PsiBar
>>>>>> ) AS foo
>>>>>>
>>>>>> and I set the "interpolateNulls" chart option to true:
>>>>>>
>>>>>> var options = {
>>>>>> title: 'Line Chart Test',
>>>>>> interpolateNulls: true
>>>>>> };
>>>>>>
>>>>>>
>>>>>> On Tuesday, October 16, 2012 12:51:40 PM UTC-4, Jose wrote:
>>>>>>>
>>>>>>> I gave both a try and neither looked as it should. Method 2 displays 
>>>>>>> the chart as it did previous where it was plotting the null '0' values.
>>>>>>>
>>>>>>> On Monday, October 15, 2012 9:38:58 PM UTC-7, asgallant wrote:
>>>>>>>>
>>>>>>>> Hmmm...I can see two ways of handling that.  One results in a messy 
>>>>>>>> DataTable, and will probably work; the other results in a cleaner 
>>>>>>>> DataTable, but might not work.
>>>>>>>>
>>>>>>>> Method 1: change the SQL statement to this:
>>>>>>>> SELECT 
>>>>>>>> PsiBar,
>>>>>>>> IF(id_sample = 1, prodPerct, null) AS prodPerct1,
>>>>>>>> IF(id_sample = 2, prodPerct, null) AS prodPerct2,
>>>>>>>> IF(id_sample = 3, prodPerct, null) AS prodPerct3
>>>>>>>> FROM tbl_dilution
>>>>>>>>
>>>>>>>> removing the sums and the group by clause.  This will result in 
>>>>>>>> more rows of data (with duplicate domain column entries) than 
>>>>>>>> necessary.
>>>>>>>>
>>>>>>>> Method 2: this will work only if 0 is not a valid value for your 
>>>>>>>> data points to have.  Change the SQL to this:
>>>>>>>>
>>>>>>>>
>>>>>>>> SELECT 
>>>>>>>> PsiBar,
>>>>>>>> IF(prodPerct1 = 0, null, prodPerct1) as prodPerct1,
>>>>>>>> IF(prodPerct2 = 0, null, prodPerct2) as prodPerct2,
>>>>>>>> IF(prodPerct3 = 0, null, prodPerct3) as prodPerct3
>>>>>>>> FROM (
>>>>>>>>  SELECT
>>>>>>>>  PsiBar,
>>>>>>>>  SUM(IF(id_sample = 1, prodPerct, null)) AS prodPerct1,
>>>>>>>>  SUM(IF(id_sample = 2, prodPerct, null)) AS prodPerct2,
>>>>>>>>  SUM(IF(id_sample = 3, prodPerct, null)) AS prodPerct3
>>>>>>>>  FROM tbl_dilution
>>>>>>>>  GROUP BY PsiBar
>>>>>>>> ) AS foo
>>>>>>>>
>>>>>>>> which tests to see if the sum is 0, and if it is, sets the value to 
>>>>>>>> null instead.  The DataTable will be cleaner, but it won't work if 
>>>>>>>> your 
>>>>>>>> values can be 0.
>>>>>>>>
>>>>>>>> On Monday, October 15, 2012 6:45:51 PM UTC-4, Jose wrote:
>>>>>>>>>
>>>>>>>>> asgallant, you are right, I am trying to get three lines plotted 
>>>>>>>>> for each 'id_sample'. Within each id group, there are 12 plot points.
>>>>>>>>> I've tried the code you provided, thanks, but it appears to also 
>>>>>>>>> plot the null values '0' between each data point. How do I fix this?
>>>>>>>>>
>>>>>>>>> {"cols":[{"label":"PsiBar","type":"number"},{"label":"Series 
>>>>>>>>> 1","type":"number"},{"label":"Series 
>>>>>>>>> 2","type":"number"},{"label":"Series 
>>>>>>>>> 3","type":"number"}],"rows":[{"c":[{"v":0.39},{"v":0.36},{"v":0},{"v":0}]},{"c":[{"v":0.5},{"v":0},{"v":0.26},{"v":0.11}]},{"c":[{"v":0.56},{"v":0.49},{"v":0.34},{"v":0}]},{"c":[{"v":0.57},{"v":0},{"v":0},{"v":0.16}]},{"c":[{"v":0.84},{"v":0.56},{"v":0.41},{"v":0.15}]},{"c":[{"v":1.01},{"v":0.62},{"v":0.42},{"v":0}]},{"c":[{"v":1.02},{"v":0},{"v":0},{"v":0.24}]},{"c":[{"v":1.3},{"v":0.66},{"v":0.49},{"v":0}]},{"c":[{"v":1.31},{"v":0},{"v":0},{"v":0.26}]},{"c":[{"v":1.45},{"v":0.66},{"v":0.5},{"v":0.27}]},{"c":[{"v":1.74},{"v":0},{"v":0.52},{"v":0}]},{"c":[{"v":1.75},{"v":0.68},{"v":0},{"v":0.28}]},{"c":[{"v":2.1},{"v":0},{"v":0},{"v":0.28}]},{"c":[{"v":2.11},{"v":0},{"v":0.52},{"v":0}]},{"c":[{"v":2.12},{"v":0.68},{"v":0},{"v":0}]},{"c":[{"v":2.57},{"v":0},{"v":0.49},{"v":0.27}]},{"c":[{"v":2.58},{"v":0.65},{"v":0},{"v":0}]},{"c":[{"v":3.07},{"v":0},{"v":0},{"v":0.25}]},{"c":[{"v":3.09},{"v":0.6},{"v":0.46},{"v":0}]},{"c":[{"v":3.56},{"v":0.56},{"v":0},{"v":0.23}]},{"c":[{"v":3.57},{"v":0},{"v":0.42},{"v":0}]},{"c":[{"v":4.23},{"v":0},{"v":0},{"v":0.21}]},{"c":[{"v":4.34},{"v":0},{"v":0.39},{"v":0}]},{"c":[{"v":4.36},{"v":0.51},{"v":0},{"v":0}]}]}
>>>>>>>>>
>>>>>>>>> Really appreciate your help on this!
>>>>>>>>>
>>>>>>>>> On Thursday, October 11, 2012 12:43:03 PM UTC-7, asgallant wrote:
>>>>>>>>>>
>>>>>>>>>> You're not charting 3 series there, you have 1 series.  Looking 
>>>>>>>>>> at your SQL table, I would guess that you want to display one series 
>>>>>>>>>> for 
>>>>>>>>>> each sample id, right?  If so, then you need to break out the 
>>>>>>>>>> "prodPerct" 
>>>>>>>>>> column into 3 different columns - 1 for each series.  This is 
>>>>>>>>>> probably best 
>>>>>>>>>> achieved in SQL, maybe with a query like this:
>>>>>>>>>>
>>>>>>>>>> SELECT 
>>>>>>>>>> PsiBar,
>>>>>>>>>> SUM(IF(id_sample = 1, prodPerct, null)) AS prodPerct1,
>>>>>>>>>> SUM(IF(id_sample = 2, prodPerct, null)) AS prodPerct2,
>>>>>>>>>> SUM(IF(id_sample = 3, prodPerct, null)) AS prodPerct3
>>>>>>>>>> FROM tbl_dilution
>>>>>>>>>> GROUP BY PsiBar
>>>>>>>>>>
>>>>>>>>>> and then use this to build the table:
>>>>>>>>>>
>>>>>>>>>> $table['cols'] = array(
>>>>>>>>>> array('label' => 'PsiBar', 'type' => 'number'),
>>>>>>>>>> array('label' => 'Series 1', 'type' => 'number')
>>>>>>>>>> array('label' => 'Series 2', 'type' => 'number')
>>>>>>>>>> array('label' => 'Series 3', 'type' => 'number')
>>>>>>>>>> );
>>>>>>>>>>
>>>>>>>>>> $rows = array();
>>>>>>>>>> while($r = mysql_fetch_assoc($sth)) {
>>>>>>>>>> $temp = array();
>>>>>>>>>> $temp[] = array('v' => (float) $r['psiBar']); 
>>>>>>>>>> $temp[] = array('v' => (float) $r['prodPerct1']); 
>>>>>>>>>> $temp[] = array('v' => (float) $r['prodPerct2']); 
>>>>>>>>>> $temp[] = array('v' => (float) $r['prodPerct3']); 
>>>>>>>>>> $rows[] = array('c' => $temp);
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> On Thursday, October 11, 2012 12:50:04 PM UTC-4, Jose wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi asgallant,
>>>>>>>>>>>
>>>>>>>>>>> Seeing Diana's example, I tried doing something similar with a 
>>>>>>>>>>> Line graph but it's not coming out as I'd like.
>>>>>>>>>>> It displays the three series but links them all together instead 
>>>>>>>>>>> of individually displaying them (lineChart.jpg).
>>>>>>>>>>> What I'm trying to achieve, is something similar to how it's 
>>>>>>>>>>> displayed in Excel (chart_xls.jpg).
>>>>>>>>>>> If you could help me in the right direction, I'd appreciate it 
>>>>>>>>>>> alot as I have been trying various things and the outcome
>>>>>>>>>>> isn't what I'm expecting.
>>>>>>>>>>>
>>>>>>>>>>> José
>>>>>>>>>>>
>>>>>>>>>>> On Wednesday, September 26, 2012 10:11:01 AM UTC-7, asgallant 
>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> What is throwing that error message?  Is it PHP?
>>>>>>>>>>>>
>>>>>>>>>>>> You will have to adjust the data types to the type of data you 
>>>>>>>>>>>> are using, so if your first column isn't type string, you need to 
>>>>>>>>>>>> change it 
>>>>>>>>>>>> to something else in the column definitions (this goes for all 
>>>>>>>>>>>> columns - 
>>>>>>>>>>>> types must always match).  Also, the (string) typecasting in this 
>>>>>>>>>>>> line:
>>>>>>>>>>>>
>>>>>>>>>>>> $temp[] = array('v' => (string) $r['PLACA']);
>>>>>>>>>>>>
>>>>>>>>>>>> is probably not necessary, unless you have a non-string data 
>>>>>>>>>>>> type that you need to specifically convert into a string.
>>>>>>>>>>>>
>>>>>>>>>>>> If you can post a link to the page, I can help debug things on 
>>>>>>>>>>>> the javascript end, if it turns out that is where the problem is.
>>>>>>>>>>>>
>>>>>>>>>>>> On Wednesday, September 26, 2012 4:47:20 AM UTC-4, Barbara 
>>>>>>>>>>>> Gerstl wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> That is what I did... but, when opening goochart2.html, the 
>>>>>>>>>>>>> result is the Error-Massage "string". 
>>>>>>>>>>>>> I think, it has something to do with the field settings of the 
>>>>>>>>>>>>> columns. Do you have any tipps?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thank you!
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Am Montag, 24. September 2012 19:26:26 UTC+2 schrieb asgallant:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You can extrapolate from the code that the table has 6 
>>>>>>>>>>>>>> columns: PLACA, S1, S2, S3, S4, S5.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Monday, September 24, 2012 10:15:44 AM UTC-4, Barbara 
>>>>>>>>>>>>>> Gerstl wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hello Diana!
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you very much for showing the whole process on how to 
>>>>>>>>>>>>>>> combine Google Graph API with a MySQL-Database. That is exactly 
>>>>>>>>>>>>>>> what I am 
>>>>>>>>>>>>>>> looking for.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I tried to rebuild your example and I am having problems 
>>>>>>>>>>>>>>> with the structure of the database/field settings. Can you show 
>>>>>>>>>>>>>>> me 
>>>>>>>>>>>>>>> structure and field settings of the table "bd_salidas"?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thank you for your answer.
>>>>>>>>>>>>>>> Barbara
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Am Mittwoch, 5. September 2012 21:56:35 UTC+2 schrieb Diana 
>>>>>>>>>>>>>>> Flores:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> yeaaaaaaahhhHHHH!!!!, we did it!!!!!!!!!!!!!. well at first 
>>>>>>>>>>>>>>>> i tried the .DataTable(jsonData);  but it gave me errors but i 
>>>>>>>>>>>>>>>> put the 
>>>>>>>>>>>>>>>> JSON.parse(jsonData));  and it works!!!!!!!!!!!!!!!!!!....im 
>>>>>>>>>>>>>>>> so happy!!! i 
>>>>>>>>>>>>>>>> will attach the files in case someone has the same 
>>>>>>>>>>>>>>>> problem!!!!!!!!....really really grateful, cause with your 
>>>>>>>>>>>>>>>> help i learned a 
>>>>>>>>>>>>>>>> lot of things!!!!....one month ago I was "what its php or 
>>>>>>>>>>>>>>>> mysql....JSON 
>>>>>>>>>>>>>>>> O_O???"  i think its a lot, but thanks!!!!
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-visualization-api/-/HyWKYcDs-vsJ.
To post to this group, send email to google-visualization-api@googlegroups.com.
To unsubscribe from this group, send email to 
google-visualization-api+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en.

Reply via email to