Database 如何打印数据库中的所有certian json数据?
我正在尝试的是我有一个页面,你可以输入3个天使整数并提交。 提交后,数据将使用json编码保存在数据库中Database 如何打印数据库中的所有certian json数据?,database,json,angle,Database,Json,Angle,我正在尝试的是我有一个页面,你可以输入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->
{"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>';
但结果仅打印30、60和180,而不是打印所有三个。
有人介意帮我把这三个数据或者至少三组角度都打印出来吗。我相信一旦我明白了这一点,我就可以打印出所有角度的图表,而不是现在,只打印最近的角度和图表
谢谢大家~
附言
我太傻了,我没有把这些echo放到foreach循环中,但我的另一个问题是我相信我需要把下面的代码输入foreach循环中,但是有这么多的标记,有没有办法把所有这些都输入foreach循环,而不是像echo canvas id=“piechart1”之类的东西,然后一点一点地做
<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>
];
piechart(图表ID、颜色、角度);
它不会打印3个结果,因为您将它们放在了的范围之外。它只打印最后一个$line
,因为$line
将替换循环的每个
我想把它修好
<?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);
// put the echo in for scope
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>';
echo '<hr/>'; // to separate each data
}
那么。您可以用下面的代码这样的方式混合html和php
<?php foreach($line as $i => $l): ?>
<canvas id="piechart<?php echo $i?>" width="100" height="100"></canvas>
<script>
var chartId = "piechart<?php echo $i?>";
var colours = ["#f00", "#0f0", "#00f"];
var angles = [<?php echo $l['angle1'].','.
$l['angle2'].','.
$l['angle3'];
?>];
piechart(chartId, colours, angles);
</script>
<?php endforeach; ?>
];
piechart(图表ID、颜色、角度);
将其放在html中上述代码之前的任意位置
<script src="<?php echo get_stylesheet_directory_uri().'/piechart.js'; ?>"></script>
OMG!为什么我会犯这个简单的错误!谢谢…但还有一件事是,我制作的饼图使用画布和脚本html标记,我相信我需要将这些标记实现到for循环中,以便我的饼图也可以打印出来。如何在php中一次实现很多标记?我现在就在画布上发布我的脚本。这太棒了!啊……我从来都不知道我可以把foreach循环放在一行中,循环仍然会运行,直到你把
放在末尾。非常感谢~!今天又学了一个新东西。很抱歉打扰你,你知道我在哪里可以读到关于endforeach的文章吗?我意识到当您使用$I
变量时,它只在循环中可见。如果从循环外访问它,它将没有值。有关foreach
的更多信息,请签出此ok,谢谢。我以为你是在循环之外访问它的,这就是为什么piechart
工作的原因
<?php foreach($line as $i => $l): ?>
<canvas id="piechart<?php echo $i?>" width="100" height="100"></canvas>
<script>
var chartId = "piechart<?php echo $i?>";
var colours = ["#f00", "#0f0", "#00f"];
var angles = [<?php echo $l['angle1'].','.
$l['angle2'].','.
$l['angle3'];
?>];
piechart(chartId, colours, angles);
</script>
<?php endforeach; ?>
<script src="<?php echo get_stylesheet_directory_uri().'/piechart.js'; ?>"></script>