我在单独的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方法。
- 首先:首先执行的是PHP,而不是JavaScript。在你的例子中,它不可能是相反的。
-
data_arrival
未定义…因为要么你根本没有定义它,要么因为它是在调用后定义的。
要将值从PHP传递到JavaScript,您可以使用:
data_arrival(<?php echo $_tempdata; ?>);
它将生成如下内容:
data_arrival([a, b, c, d, ...]);
当然,data_arrival
函数需要在执行之前定义。
编辑
也许使用相同的变量名称是好的:$_tempdata
vs $tempdata
。