我正在尝试将数组从PHP转换为JavaScript但它似乎不起作用。这是我的PHP代码query.php
:
$query = 'SELECT coupon FROM '.$disc;
$coupdb = array();
$results = $newdb->get_results($query);
foreach( $results as $result )
$coupdb[] = $result->coupon;
echo $coupdb[0]; //This shows perfectly the content but I want to send this array to a Javascript file.
我也尝试过使用JSON:
$coupdb_js = json_encode($coupdb);
这是我的JavaScript文件discount.js
:
var coupdb = <?php echo $coupdb ?>;
alert(coupdb[0]);
使用JSON:
var coupdb = <?php echo $coupdb_js ?>;
alert(coupdb[0]);
答案 0 :(得分:0)
@Jon向我展示了一个&#34;意外的令牌
<
&#34; ...它将<?
作为未知令牌。
所以你的PHP没有被处理。如果这是在.js
文件中,除非服务器设置为处理这些文件(不好主意),否则它将无法工作
相反,这可能应该在HTML中的<script>
标记中,或者更好地作为AJAX调用。
答案 1 :(得分:0)
最后我找到了一种方法,这是一种简单的方法,但可能不是最好的方法:)
从我的php中我发送了从bbdd捕获的coupdb变量到javascript文件:
<?php
$DB_USER="dbuser";
$DB_PASSWORD="passdb";
$DB_NAME="dbname";
$DB_HOST="dbhost";
$newdb = new wpdb($DB_USER, $DB_PASSWORD, $DB_NAME, $DB_HOST);
$disc="discounts";
$query = 'SELECT coupon FROM '.$disc;
$coupdb = array();
$results = $newdb->get_results($query);
foreach( $results as $result )
$coupdb[] = $result->coupon;
?>
<script type="text/javascript">
var coupdb = <?php echo json_encode($coupdb); ?>;
</script>
在js文件中我通常使用变量:
alert (coupdb[0]);