从动态创建的选择表单中检索选项

时间:2015-03-13 11:45:23

标签: javascript php jquery mysql

我创建了一个动态HTML-Select,其选项由我服务器上的数据库名称填充。单击选项后,将打开一个新的.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");
});

test.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 );
}

当我运行这个时,我得到了白页死亡。正在运行error_log并不会显示任何内容。我哪里错了?

1 个答案:

答案 0 :(得分:1)

只需更改网址即可将选择内容包含为GET参数

$('#Databases').change(function () {
    var yourDB = $(this).val();
    window.location.assign("test.php?db=" + yourDB);
});

您可以在test.php页面中以$ _GET var

的形式访问它