Mam kod zaciągnięty z ezPortal, który ładnie przenosi wyniki ankiet na stronę główną forum. Jednak te paski nie są zbyt ładne. Z kolei Google daje ciekawe narzędzie do generowania wykresów.
Powiązanie obu tych spraw na pewno jest możliwe - ja jednak z PHP/SQL nieco kuleję.
Kod, który się wkleja by pokazać wykres Google wygląda np. tak:
Kod:
<img src="http://chart.apis.google.com/chart?chtt=Pie+Chart&chts=000000,12&chs=300x150&chf=bg,s,ffffff&cht=p3&chd=t:53.84,46.15&chl=Label+1|Label+2&chco=0000ff,00ff00" alt="Google Chart"/>
Przy czym wartości są podawane w zmiennej t, a nagłówki w zmiennej chl.
Kod wykorzystywany przez ezPortal wygląda tak (nie podaję całego, bo się nie mieści):
Kod:
(...) for($i = 0; $i < $vote_options; $i++)
{
$vote_percent = ( $vote_results_sum > 0 ) ? $vote_info[$i]['vote_result'] / $vote_results_sum : 0;
$vote_percent_max = ( $vote_percent > 0 ) ? $vote_info[$i]['vote_result'] / $vote_results_max : 0;
$portal_vote_graphic_length = round($vote_percent * $length);
$vote_graphic_img = $images['voting_graphic'][$vote_graphic];
$vote_graphic = ($vote_graphic < $vote_graphic_max - 1) ? $vote_graphic + 1 : 0;
if( count($orig_word) )
{
$vote_info[$i]['vote_option_text'] = preg_replace($orig_word, $replacement_word, $vote_info[$i]['vote_option_text']);
}
$template->assign_block_vars("poll_option", array(
"POLL_OPTION_CAPTION" => $vote_info[$i]['vote_option_text'],
"POLL_OPTION_RESULT" => $vote_info[$i]['vote_result'],
"POLL_OPTION_PERCENT" => sprintf("%.1d%%", ($vote_percent * 100)),
"POLL_OPTION_IMG" => $vote_graphic_img,
"POLL_OPTION_IMG_WIDTH" => ($portal_vote_graphic_length - 16))
);
}
$template->assign_vars(array(
"L_TOTAL_VOTES" => $lang['Total_votes'],
"TOTAL_VOTES" => $vote_results_sum,
"L_VIEW_RESULTS" => $lang['View_results']),
"U_VIEW_RESULTS" => append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&postdays=$post_days&postorder=$post_order&vote=viewresult"))
);
}
else ......
Czy ma ktoś pomysł, jak zmienne dotyczące ankiety, które są w tym skrypcie zwracane w postaci tablicy wielowymiarowej (tak mi się przynajmniej wydaje) przekonwertować do zmiennych dających się wykorzystać w kodzie Google?
Myślę, że wyszedłby z tego ciekawy mod