When you're ready to get started, please post your code again (as I don't have it any more), and I'll help you get set up with PDO's.
On Wednesday, December 12, 2012 6:17:51 PM UTC-5, Jose wrote: > > I'll readup on this PDO as it shows that PDO is enabled. > > PDO > PDO support enabled > PDO drivers mysql, sqlite > > pdo_mysql > PDO Driver for MySQL enabled > Client API version mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $ > > pdo_sqlite > PDO Driver for SQLite 3.x enabled > SQLite Library 3.7.7.1 > > José > > On Wednesday, December 12, 2012 2:56:09 PM UTC-8, asgallant wrote: >> >> Adding user-defined parameters to the SQL string opens you up to >> SQL-injection attacks (mentioned above in my conversation with >> Chrystopher). PHP's standard mysql library doesn't provide any measure of >> protection against them, so I strongly recommend changing to using PDO's >> with prepared statements and bound parameters. This may require you to >> change your PHP configuration; run this script, and see if PDO is enabled, >> and if so, see if it is set up for use with mysql: >> >> <?php >> phpinfo(); >> ?> >> >> Once it is enabled and set up for use with mysql, converting from the >> mysql tools to PDO is relatively simple. >> >> On Wednesday, December 12, 2012 5:08:05 PM UTC-5, Jose wrote: >>> >>> 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/-/aOgRQ0QlhcUJ. 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.