in reply to Re^7: How to add columns with new row name using perl from mysql query?
in thread How to add columns with new row name using perl from mysql query?
If you were paying attention you would see that even your code had commas between the interior arrays.
That is why$var_data_running .= ",\[\"$row_array[0] \($row_array[2]\)\",$row_arr +ay[2]\]";
is correct.my $orun=join(',',@iarray_run); print "var data_run=[$orun];\n";
Resultuse strict; use warnings; use DBI; my $storagefile='finddata'; my $DBH = DBI->connect( "dbi:SQLite:dbname=".$storagefile ) || die "Ca +nnot connect: $storagefile $DBI::errstr"; my $sql = 'SELECT queue_name,jobs_pend,jobs_run FROM queues ORDER BY jobs_run DESC'; my $sth = $DBH->prepare( $sql ); $sth->execute(); # input my %table = (); my $recno = 0; my @top = (); while (my ($name,$pend,$run) = $sth->fetchrow_array){ my $key = ($recno++ < 5) ? $name : 'other' ; push @top,$key unless (defined ($top[-1]) && $top[-1] eq 'other'); $table{$key}{'pend'} += $pend; $table{$key}{'run'} += $run; } #So first you need to make your interior arrays my @iarray_run; for my $key (@top){ push @iarray_run,'["'.$key.'",'.$table{$key}{'run'}.']'; } # then you join them and assign them my $orun=join(',',@iarray_run); print "var data_run=[$orun];\n"; my $orun2=join('',@iarray_run); print "wrong-var data_run=[$orun2];\n"; print "\n"; use JSON 'decode_json'; my $frjson_data_run = decode_json( "[$orun2]" );
Even poj's code at Re^5: How to add columns with new row name using perl from mysql query? via encode_json printsvar data_run=[["adice_short",192],["ncsim_short",84],["ncsim_long",78] +,["adice_long",39],["normal",30],["other",34]]; wrong-var data_run=[["adice_short",192]["ncsim_short",84]["ncsim_long" +,78]["adice_long",39]["normal",30]["other",34]]; , or ] expected while parsing array, at character offset 21 (before "" +ncsim_short",84]["n...") at 1187071a.pl line 38.
so i think you still need to pay much more attention to what you are doing.var data_run = [["adice_short (192)","192"],["ncsim_short (84)","84"], +["ncsim_long (78)","78"],["adice_long (39)","39"],["normal (30)","30" +],["other (34)","34"]]
http://www.json.org/An array is an ordered collection of values. An array begins with [ (left bracket) and ends with ] (right bracket). Values are separated by , (comma).
Just another day wasted i guess
You owe The Oracle some funky characters. And still no proper grovel.
|
|---|