Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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
Javascript 如何在同一个HTML页面上显示HTML GET请求数据,使用单独的PHP文件获取数据?_Javascript_Php_Html - Fatal编程技术网

Javascript 如何在同一个HTML页面上显示HTML GET请求数据,使用单独的PHP文件获取数据?

Javascript 如何在同一个HTML页面上显示HTML GET请求数据,使用单独的PHP文件获取数据?,javascript,php,html,Javascript,Php,Html,我试图从一个MySQL数据库中获取数据,该数据库是从HTML文件的下拉列表中选择的,并将数据显示在从中选择的同一个HTML页面上。我已经有了HTML和PHP来检索数据并显示它,但它并没有显示在用户请求数据的同一页面上,而是显示在PHP页面上 下面是get_project_form.HTML的HTML代码: <html> <head> <title>Get Project Form</title> <!-

我试图从一个MySQL数据库中获取数据,该数据库是从HTML文件的下拉列表中选择的,并将数据显示在从中选择的同一个HTML页面上。我已经有了HTML和PHP来检索数据并显示它,但它并没有显示在用户请求数据的同一页面上,而是显示在PHP页面上

下面是get_project_form.HTML的HTML代码:

<html>
    <head>
        <title>Get Project Form</title>
        <!--Link this html page to the project_style.css page-->
        <link rel="stylesheet" type="text/css" href="project_style.css">
    </head>
    <body>
        <div class="container">
            <form action="get_project_action.php" autocomplete="off" method="get">
                <label for="Query Selections">Query Selections : (You can only select
                    all data from "Projects"
                    for now):</label>
                <select id="first_query" name="queries" required>
                    <option value="" disabled selected>Make a Selection</option>
                    <option value="Projects">Projects</option>
                </select><br />
                <input type="submit" value="Submit"><br />
        </div>
    </body>
</html>

获取项目表单
查询选择:(您只能选择
“项目”中的所有数据
目前):
挑选
项目


选择并单击“提交”后,数据将显示在带有URL的页面上,

以下是php文件get_project_action.php的代码:

<?php
    echo "<table style='border: solid 1px black;'>";

    class TableRows extends RecursiveIteratorIterator
    {
        function __construct($it) {
            parent::__construct($it, self::LEAVES_ONLY);
        }

        function current() {
            return "<td style='width: 150px; border: 1px solid black;'>" .
                parent::current() . "</td>";
        }

        function beginChildren() {
            echo "<tr>";
        }

        function endChildren() {
            echo "</tr>" . "\n";
        }
    }

    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "pmo";

    try {
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username,
            $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $query = $_GET["queries"];
        $stmt = $conn->prepare("SELECT * FROM $query");
        $stmt->execute();

        // set the resulting array to associative
        $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

        foreach (new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as
                 $k => $v) {
            echo $v;
        }
    } catch (PDOException $e) {
        echo "Error: " . $e->getMessage();
    }
    $conn = null;
    echo "</table>";
?>

假设在php文件中使用$dropdownData数组变量来存储数据库中的数据

//PHP file
<?php
   //query to fetch data from db.
   $dropdownData;
   $this->view('get_project_form.html',$dropdownData);
?>
//PHP文件
//然后在ur HTML文件中使用此数组变量$dropdownData和“for循环”来显示 //HTML文件 //如果$dropdownData不是空的,您还可以验证它;否则php将给出错误消息

<select id="first_query" name="queries" required>
<option value="" disabled selected>Make a Selection</option>
   <? foreach ($dropdownData as $val => $text) { ?>
       <option value="<? echo $val; ?>" > <? echo $text;?> </option>
   <? } ?>
</select> 

挑选

您可以通过将HTML文件设置为PHP文件并使用全局变量来实现这一点。比如
if(isset($\u var)){…}
。您需要一个
标题('Location:get_project_form.php')