Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php检索的参数调用javascript方法_Javascript_Php_Html - Fatal编程技术网

使用php检索的参数调用javascript方法

使用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

我在单独的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>

  • 首先:首先执行的是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, ...]);