在我的一个php文件中,我正在运行一个查询,无论查询结果显示我想要放在number.js文件中的值。即使我在该PHP文件中复制了.js代码,但在主文件(index.php)中我面临着js文件的冲突。这就是为什么我不能将js文件复制到该php文件中。请提供我的意见。下面我复制了我的PHP代码以及js文件。
在PHP代码中
$query_string = "SELECT COUNT(Email) AS total FROM Contact INNER JOIN CompanyBranch ON Contact.CompanyBranchID = CompanyBranch.CompanyBranchID INNER JOIN Company ON Company.CompanyID = CompanyBranch.CompanyID INNER JOIN CompanyIndustry ON Company.CompanyID = CompanyIndustry.CompanyID INNER JOIN IndustrySubindustry ON CompanyIndustry.IndustrySubindustryID = IndustrySubindustry.IndustrySubindustryID WHERE CompanyBranch.GlobalRegionID = '$global_region' AND IndustrySubindustry.IndustryID = '$industry' AND IndustrySubindustry.SubindustryID = '$sub_industry'";
$query_string = strtolower($query_string);
$result_data = mysql_query($query_string) or die();
//$tmp = mysql_fetch_array($result_data);
$row = mysql_fetch_assoc($result_data);
$total_lead = $row['total'];
echo json_encode($total_lead);
$total_lead
变量中我想要重定向到number.js文件的值
number.js文件中的代码
var leads=0;
我想要var_leads=$total_lead
(值来自php文件)。
怎么可能?
答案 0 :(得分:1)
.js文件将默认不在服务器上作为PHP脚本执行,除非您告诉Web服务器这样做。这意味着您无法将PHP代码嵌入到.js文件中并让它为您填写内容。
除非您确实想要修改服务器以强制PHP处理.js文件,否则最好不要这样做:
yourfile.php:
<?php
... do query stuff here ...
?>
<html>
<head>
<script type="text/javascript">var leads = <?php echo json_encode($total_leader) ?>;</script>
<script type="text/javascript" src="number.js"></script>
</head>
这将使用查询结果为您设置lead变量,然后加载number.js脚本的其余部分,然后(假设)使用该变量。
另一种方法是使用一段JS代码执行AJAX回调到服务器,以便在页面加载时动态获取数字。
答案 1 :(得分:0)
你可以在这里找到合适的PHP-JSON库来完成这项工作:
http://www.php.net/releases/5_2_0.php
http://pecl.php.net/package/json
JSON页面:http://www.json.org/
答案 2 :(得分:0)
我不知道你的应用程序的完整上下文,但如果你正在向这个脚本发出AJAX请求,你需要使用回调或onreadystate更改,这取决于调用是否异步。
如果此脚本还加载了一个页面,那么您需要在实际标记的上下文中回显该值。
答案 3 :(得分:0)
您还可以使用JavaScript内联PHP。例如,看看这个快速示例:
<?php
$query_string = "Your select statement...";
$query_string = strtolower($query_string);
$result_data = mysql_query($query_string) or die();
//$tmp = mysql_fetch_array($result_data);
$row = mysql_fetch_assoc($result_data);
$total_lead = $row['total'];
?>
<script type="text/javascript">
var leads = <?=$total_leads?>; //as integer
var leads = '<?=$total_leads?>'; //as string
//other js stuff
</script>
答案 4 :(得分:0)
您可以使用:
var obj = <?php echo json_encode(your_json_object) ?>
var jsonObject = JSON.parse(obj)