我创建了一个动态 HTML 选择,其选项由我的服务器上的数据库名称填充。单击选项后,将打开一个新的 .php 页面(使用 JQuery)。在这个新页面中,我希望将从上一页选择的数据库名称作为字符串传递,我可以用它来执行 MySQL 查询。
那么我尝试了什么?
function selectDB() {
$link = mysqli_connect ( 'username', 'root', '' );
$qry = ("SHOW DATABASES");
$db_list = mysqli_query ( $link, $qry );
echo "<select name ='Databases' id='Databases' method='post'>";
while ( $row = mysqli_fetch_array ( $db_list ) ) {
echo "<option value='" . $row [0] . "'>" . $row [0] . "</option>";
}
echo "</select>";
}
JavaScript
$('#Databases').change(function () {
var yourDB = $(this).val();
window.location.assign("test.php");
});
测试.php
if (isset ( $_POST ['Databases'] )) {
$dbName = $_POST ['Databases'];
$link = mysqli_connect ( 'username', 'root', '', "'%$dbName%'" );
if (! $link) {
die ( "Connection failed" . mysqli_errno ( $link ) );
}
$qry = "SHOW tables";
$tblist = mysqli_query ( $link, $qry );
return $tblist;
printf ( $tblist );
}
当我运行这个程序时,我得到了whitepageofdeath。运行 error_log
不会显示任何内容。我哪里出错了??
最佳答案
只需更改 url 以将所选内容作为 GET 参数包含进来
$('#Databases').change(function () {
var yourDB = $(this).val();
window.location.assign("test.php?db=" + yourDB);
});
您可以在 test.php 页面中以 $_GET var 的形式访问它
关于javascript - 从动态创建的选择表单中检索选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29031405/