我在单独的js文件中有一个javascript方法,我想从带有php参数的HTML页面调用。
<?php
include "connection.php";
$selectedpatient = $_POST['patient_dropdown'];
$myquery = "SELECT * FROM `patient_info` patient_info.Name = '$selectedpatient' ";
$query = mysql_query($myquery);
if ( ! $query ) {
echo mysql_error();
die;
}
$data = array();
for ($x = 0; $x < mysql_num_rows($query); $x++) {
$data[] = mysql_fetch_assoc($query);
}
$tempdata = json_encode($data);
?>
<script> data_arrival($_tempdata); </script>
我在HTML标题中定义了javascript文件的源代码。它显示两个错误:
1)javascript文件中的解析错误 - 这是可以理解的,因为我在头文件中包含了javascript文件,并且在php实际检索任何数据之前文件被执行。
2)data_arrival方法未定义
我该如何解决这个问题?我想将$ tempdata(在填充php之后)传递给data_arrival方法作为参数。
提前致谢!
答案 0 :(得分:2)
data_arrival
未定义...因为您根本没有定义它,或者因为它是在它被调用后定义的。要将值从PHP传递到JavaScript,您可以使用:
data_arrival(<?php echo $_tempdata; ?>);
它将生成如下内容:
data_arrival([a, b, c, d, ...]);
当然,data_arrival
函数需要在执行之前定义。
修改强>
使用相同的变量名称也许不错:$_tempdata
vs $tempdata
。