Javascript 如何在同一个HTML页面上显示HTML GET请求数据,使用单独的PHP文件获取数据?
我试图从一个MySQL数据库中获取数据,该数据库是从HTML文件的下拉列表中选择的,并将数据显示在从中选择的同一个HTML页面上。我已经有了HTML和PHP来检索数据并显示它,但它并没有显示在用户请求数据的同一页面上,而是显示在PHP页面上 下面是get_project_form.HTML的HTML代码: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> <!-
<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')那么,你的意思是让提交按钮执行Ajax调用并替换响应吗?