我需要在 JavaScript 代码中从 mysql 获取并重复我的数据。
Javascript代码:
var chart = c3.generate({
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250, 50, 100, 250]
]
},
axis: {
x: {
type: 'category',
categories: ['cat1', 'cat2', 'cat3', 'cat4', 'cat5', 'cat6', 'cat7', 'cat8', 'cat9']
}
}});
我需要更改 'cat1' 、 'cat2' 、 'cat3'...以获取来自 mysql 的数据。我使用此代码来获取并重复信息:
<?php do { ?>
<?php echo $row_cat['category_name']; ?>
<?php } while ($row_cat = mysql_fetch_assoc($cat)); ?>
这对我来说效果很好,但我不能在 javascript 代码中使用它。你知道我怎样才能做到这一点吗?
谢谢。
最佳答案
我个人会用 PHP 构建数据结构,然后通过 json_encode
在 javascript 中作为变量输出。所以类似:
$cat_names = array();
while ($row_cat = mysql_fetch_assoc($cat)) {
$cat_names[] = $row_cat['category_name'];
}
然后在 JavaScript 中:
var categories = <?php echo json_encode($cat_names); )?>;
var chart = c3.generate({
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250, 50, 100, 250]
]
},
axis: {
x: {
type: 'category',
categories: categories
}
}
});
这比尝试在数据库读取循环的每次迭代中回显 HTML/javascript 源代码要干净得多,也更容易阅读。
请注意与 do... 的更改,虽然我不知道为什么您会在此处使用该结构从数据库中读取数据。您也不应该使用 mysql_*
函数,但那是另一个故事了......
关于javascript - 在 Javascript 代码中重复 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26225731/