【问题标题】:Retrieving options from a dynamically created Select form从动态创建的 Select 表单中检索选项
【发布时间】:2015-03-13 19:52:03
【问题描述】:

我创建了一个动态 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");
});

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

当我运行它时,我得到了 whitepageofdeath。运行 error_log 不显示任何内容。我哪里错了??

【问题讨论】:

  • 您没有通过 POST 发送任何内容,因此 $_POST 将为空。将数据库名称添加到 URL 的末尾,例如查询字符串 test.php?Databases=name_of_databases,然后在 PHP 端使用 $_GET 数组。
  • 另一件事,删除数据库名称变量周围的% 字符。为什么你有所有这些引号?

标签: javascript php jquery mysql


【解决方案1】:

只需更改 url 以将选择包含为 GET 参数

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

您可以在 test.php 页面中以 $_GET var 的形式访问它

【讨论】:

  • 我用下面的代码尝试了你的建议,但我仍然得到一个白屏。 if (isset ( $_GET ['yourDB'] )) { $dbName = $_GET ['yourDB']; $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 ); }
  • get var 是 db NOT yourDB
  • 在我的示例中,您通过 url 传递的参数称为“db”。所以它是您需要用来在 php 脚本中检索它的名称,或者您选择给它的任何名称。 "test.php?db=" if(isset($_GET['db']
猜你喜欢
  • 1970-01-01
  • 2014-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多