我对JavaScript不是很熟悉,但对于我正在处理的项目,我需要使用db中的一些输入来绘制图形。你可以帮我把php值转移到javascript。我只想使用db中的数据绘制饼图。
<div id="pie" style="width:250px;height:250px;">
<?php
$k=0;
if (isset($distrib)){
foreach($distrib as $row){
echo $distrib[$k]['lang'];
echo $distrib[$k]['NumArt'];
$k++;
}
}
?>
<script class="code" type="text/javascript">
$(document).ready(function() {
var data = [];
var plot1 = jQuery.jqplot('pie', [data], {
seriesDefaults: {
// Make this a pie chart.
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
// Put data labels on the pie slices.
// By default, labels show the percentage of the slice.
showDataLabels: true
}
},
legend: {
show: false,
location: 'e'
}
});
});
</script>
修改
我仍然在努力解决这个问题。这些js图表正在扼杀我。
所以这是一个额外的问题,希望能够结束我的痛苦
if (isset($distrib)){
foreach($distrib as $row){
$p[] = $distrib[$k]['langName'];
$s[] = $distrib[$k]['lang'];
$q[] = $distrib[$k]['NumArt'];
$k++;
}}
?><?php $c = array_combine($p, $q); ?>
<script class="code" type="text/javascript">$(document).ready(function(){
<?php echo "var s1 = [".implode($c, ",")."];" ?>
var plot3 = $.jqplot('pie', [s1], {
基本上,图表正在打印出numArt,但它不会打印我想要的langName。 Lang name以其原生字母表存储语言,这意味着从阿拉伯语到祖鲁语的任何语言。我尝试使用JSON没有成功(我完全缺乏该领域的知识)。我的d /编码搞砸了,所以我离开了那条道路。
我的目标是呈现一张图表,其中包含该语言的语言名称和文章数量。
所以这是来自
的print_r
$ p
数组([0] =&gt;无[1] =&gt; Catal [2] =&gt;français[3] =&gt; Malti [4] =&gt;português[5] =&gt;斯瓦希里语[6] =&gt; isiZulu [7] =&gt;英文)
和$ q 阵列([0] =&gt; 1 [1] =&gt; 1 [2] =&gt; 1 [3] =&gt; 2 [4] =&gt; 1 [5] =&gt; 1 [6] =&gt; 1 [7] =&gt; 1)
和$ c的组合 数组([无] =&gt; 1 [Catal] =&gt; 1 [français] =&gt; 1 [Malti] =&gt; 2 [português] =&gt; 1 [Kiswahili] =&gt; 1 [isiZulu] =&gt; 1 [英文] =&gt; 1)
最后我需要s1成为这些方面的东西
[[ '无',1],[ '法语',1],[ '马尔蒂',1]]
答案 0 :(得分:1)
<script type="text/javascript">
var data = [ <?php echo implode(",", $array_of_values); ?> ];
<script>
确保$array_of_values
是一个数组(PHP),其中包含您要在data
变量(JS)中传递的值。
更新:
$string_array = array();
foreach( $array as $key=>$value )
{
$string_array[] = '[' . $key . ',' . $value . ']';
}
然后内爆。
答案 1 :(得分:0)
如果这是你正在寻找的东西我不是肯定的,但是:
假设你在php中有$ var1 = 25。假设你想要保存在你的js文件的var1中:
<?php
echo $var1=25;
echo "var var1=$var1";
?>
请记住javascript是客户端而php是服务器端,因此2不进行交互(不包括ajax等)。在发送响应之前运行PHP并在浏览器中运行javascript。你可能已经知道了,但只是为了怀疑。
答案 2 :(得分:0)
您没有提到您想要的值,或者您想要的javascript中的位置。
您似乎熟悉echo
PHP值,因此除了在javascript函数中执行此操作外,您只需要执行相同操作。
答案 3 :(得分:0)
//...
$(document).ready(function(){
<?php echo "var data = [".implode($distrib, ",")."];" ?>
// ...
});
Stringify数组并将一个var声明回显给javascript。