使用php检索的参数调用javascript方法
我在单独的js文件中有一个javascript方法,我想从带有php参数的HTML页面调用它使用php检索的参数调用javascript方法,javascript,php,html,Javascript,Php,Html,我在单独的js文件中有一个javascript方法,我想从带有php参数的HTML页面调用它 <?php include "connection.php"; $selectedpatient = $_POST['patient_dropdown']; $myquery = "SELECT * FROM `patient_info` patient_info.Name = '$selectedpatient' "; $q
<?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>
首先:首先执行的是PHP,而不是JavaScript。在你的例子中不可能是相反的
数据\u到达
未定义。。。因为要么您根本没有定义它,要么因为它是在调用之后定义的
要在您的案例中将值从PHP传递到JavaScript,可以使用:
data_arrival(<?php echo $_tempdata; ?>);
当然,data\u arrival
函数需要在执行之前定义
编辑
也许使用相同的变量名比较好:$\u tempdata
vs$tempdata
data\u-arrival()代码>在这个主题上有上千个例子,使用搜索。你说的“javascript文件在PHP检索任何数据之前执行”是什么意思?首先执行PHP,然后才执行任何js、html等来解释:)但是上面的代码在html页面上显示了tempdata的内容。我认为这是我的数据到达方法的错误,正如之前使用d3.json读取json文件一样,现在数据作为参数传递,实际上什么都没有做。数据到达参数中使用的“echo”在屏幕上打印所有内容。
data_arrival([a, b, c, d, ...]);