javascript - 在 Javascript 代码中重复 PHP

标签 javascript php mysql

我需要在 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/

相关文章:

php - 在 php 中进行 AES 加密,然后使用 Javascript (cryptojs) 解密

javascript - RegEx:捕获重复捕获组的所有单个实例

javascript - 如何创建打开警告框的输入表单?

PHP imagick 检测透明度

mysql - 如何创建超过 4096 列的 MySQL 表?

java - 最后插入的记录未反射(reflect)在使用 JDBC 的 mysql 中的 select 语句中

mysql - MySQL可以从事件调度程序创建新分区吗

javascript - 如何移动 HTML DOM 元素的开始和结束标签?

javascript - HTMLCollection() 值和名称到 JSON

php - preg_replace,选择前后的点