基于所选/默认下拉列表并在同一页面上输出的Php查询

时间:2017-08-19 08:15:20

标签: php mysql

我已经设法从Mysql列创建下拉列表,并且还使用get方法获取查询结果,但此处网页在点击按钮时被定向到其他页面。 我希望获得查询输出,当页面加载时在下拉列表中设置一些默认选项,或者在用户更改选项时再次在同一页面上重新加载查询结果。

任何帮助将不胜感激。

下拉列表主页上的代码:

$result = $conn->query("SELECT DISTINCT nx_version FROM workflow1 ORDER BY id");
echo "<form action='process.php' method='get'>";
echo "<html>";
echo "<body>";
echo "<p></p>";
echo "<center>";
echo "<strong> Select Base Verison To Compare With : </strong>";
echo "<select name=nx_version>";
while ($row = $result->fetch_assoc()) {
    unset($nx_version);
    $nx_version = $row['nx_version']; 
    echo '<option value>'.$nx_version.'</option>';
}

echo "</select>";
echo "&nbsp;<button type='submit'>See items</button>";
echo "</center>";
echo "</body>";
echo "</html>";
echo "<p></p>"; 
echo "<form>";

我在按下按钮时编写的代码,并提供了查询输出(在process.php中):

$nx_version = $_GET['nx_version']; // The name attribute of the select
$query = "SELECT step1 FROM workflow1 WHERE nx_version = '$nx_version' ORDER BY id DESC";
$query1 = mysqli_query($conn, $query);
$array = Array();            
while($result1 = $query1->fetch_assoc()) {
    $array[] = $result1['step1'];
}
print_r($array); 

1 个答案:

答案 0 :(得分:1)

process.php文件应该是这样的 -

<?php
session_start();
$nx_version = $_GET['nx_version']; // The name attribute of the select

$query = "SELECT step1 FROM workflow1 WHERE nx_version = '$nx_version' ORDER BY id DESC";
$query1 = mysqli_query($conn, $query);
$array = Array();

while($result1 = $query1->fetch_assoc()){
$array[] = $result1['step1'];
}
$_SESSION['data'] = $array;
// storing the data as session
header("location:main_page.php");
?>

现在通过添加 -

从主页中的会话中获取数据
$array = $_SESSION['data'];