2012-02-22 96 views
0

在我的一个php文件中,我正在运行一个查询,无论查询结果如何显示我想要放入number.js文件的值。即使我在该PHP文件中复制了.js代码,但在主文件(index.php)中我正面临着js文件的冲突。这就是为什么我不能将js文件复制到该php文件中。请给我提供的信息。在下面我复制我的PHP代码以及js文件。如何将json值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); 

任何价值得到,我想重定向到文件number.js

代码在number.js文件的$total_lead变量

var leads=0; 

我想var_leads=$total_lead(值来自php文件)。

怎么可能?

+0

总是用正确的标记。其做出很大的区别... – 2012-02-22 04:01:25

回答

1

.js文件将默认不被执行作为服务器上的PHP脚本,除非您告诉Web服务器这样做。这意味着您不能将PHP代码嵌入到.js文件中,并让它为您填充内容。

除非你想改变你的服务器以强制的.js文件PHP处理,你会更好做这样的事情:

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> 

那会使用查询结果为您设置潜在变量,然后加载number.js脚本的其余部分,然后(据推测)使用该变量。

另一种方法是让一段JS代码执行一次AJAX回调到您的服务器,以便在页面加载时动态获取该编号。

0

我不知道应用程序的完整上下文,但是如果您向此脚本发出AJAX请求,则需要使用回调或onreadystate更改,具体取决于调用是否异步。

如果此脚本还加载了页面,则需要在实际标记的上下文中回显该值。

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> 
0

您可以使用此:

 var obj = <?php echo json_encode(your_json_object) ?> 
     var jsonObject = JSON.parse(obj)