我正在尝试的是我有一个页面,您可以输入 3 个天使整数并提交。提交后,数据将使用 json 编码保存在数据库中
{"angle1":"60","angle2":"60","angle3":"90","submit":"Submit"}
以上是保存成一行的内容
我用了
<?php
$sql = "SELECT * FROM wp_options WHERE option_name LIKE 'angle%' ORDER BY option_name";
$options = $wpdb->get_results($sql);
foreach ( $options as $option )
{
echo '<p><b>'.$option->option_name.'</b> = '
.esc_attr($option->option_value).'</p>'.PHP_EOL;
$line = json_decode($option->option_value, true);
}
echo '<span style="color:#f00;">'.'Angel 1 : '.$line['angle1'].'</span><br>';
echo '<span style="color:#0f0;">'.'Angel 2 : '.$line['angle2'].'</span><br>';
echo '<span style="color:#00f;">'.'Angel 3 : '.$line['angle3'].'</span><br>';
这将打印出 angel 1 : ## 其中 ## 是输入的角度,依此类推。我还制作了一个简单的 2d 饼图来显示角度。
我遇到的问题是,如果我提交另外 3 个角度,那么即使数据库中有两个或更多角度,我的结果也只会显示最近输入的角度。
例如在我的数据库中我可以看到
{"angle1":"60","angle2":"60","angle3":"90","submit":"Submit"}
{"angle1":"60","angle2":"60","angle3":"180","submit":"Submit"}
{"angle1":"30","angle2":"60","angle3":"180","submit":"Submit"}
但结果只打印 30 60 和 180 而不是打印全部三个。任何人都介意我如何打印所有三个数据或至少所有三组角度。我相信一旦我弄清楚了,我就可以打印出所有角度的所有饼图,而不是现在只打印最近的角度和饼图。
非常感谢大家~
附言
我是如此愚蠢,我没有将这些回声放入 foreach 循环中,但我的另一个问题是我相信我需要将下面的代码输入到 foreach 循环中但是有这么多标签有没有办法输入所有这些进入 foreach 循环,而不是做类似 echo canvas id="piechart1" blah blah blah 之类的事情,然后一点一点地做?
<canvas id="piechart1" width="100" height="100"></canvas>
<script src="<?php echo get_stylesheet_directory_uri().'/piechart.js'; ?>"></script>
<script>
var chartId = "piechart1";
var colours = ["#f00", "#0f0", "#00f"];
var angles = [<?php echo $line['comp2052_angle1'].','.
$line['comp2052_angle2'].','.
$line['comp2052_angle3'];
?>];
piechart(chartId, colours, angles);
</script>