0

几天前我曾问过一个类似的问题,但我认为我一次尝试做很多事情。我希望有人可以帮助我开始这件事。

我有两个下拉列表,一个将填充年份(2012、2011 等),我有一些名为“db_2012”、“db_2011”等的 mySQL 数据库。在这些数据库中是代表月份的表。

我希望用户选择一年,然后使用该选择来查询正确的数据库并返回一个表名列表,该列表将用于填充第二个下拉列表。然后单击“查看结果”按钮以查询所选表并显示结果。

我将其放在 wordpress 网站上,并使用我创建的 php 模板文件。这对我来说仍然是新的,到目前为止我所拥有的也没有像我想要的那样工作,它基本上是设置现在你选择一年并选择一个月(不是从数据库填充)并单击一个按钮。它进行查询并显示我的表,但我需要这个解决方案更加动态并且如上所述工作。谢谢您的帮助。

echo '<form action="" method="post">';
echo'<select name="years" id="years">';
foreach($yearList as $year){
    echo'<option value="'.$year.'">'.$year.'</option>';
}
echo'</select><br />';

echo '<select name="monthList" id="months">';
foreach($monthList as $month) {
    echo'<option value="'.$month.'">'.$month.'</option>';
}
echo '</select>';
echo '<input type=\'submit\' value=\'See Results\'>';
echo '</form'>

$yearList 和 $monthList 只是预先填充的数组。所以现在从这里我想点击查看结果按钮并使用下拉选择中的参数查询我的 sql 数据库。

$database = $_POST['yearList'];
$month = $_POST['monthList'];

$wpdbtest_otherdb = new wpdb('Username', 'Password', $database, 'localhost');

$qStr = "SELECT * FROM $month";
$myResults = $wpdbtest_otherdb->get_results($qStr, OBJECT); 
4

1 回答 1

0

听起来您想将 AJAX 调用发送到单独的 php 页面以进行安全和处理,然后让 PHP 返回 XML,您通过 AJAX 回调将其解析回第二个选择框。它可能有点混乱,但它允许您检查用户可能注入的奇怪表单值。

编辑:PHP 将接收您的 AJAX 参数作为 $_GET 或 $_POST 数组的一部分。从那里,您可以进行检查和 db 调用(或不调用),然后添加header("Content-Type:text/xml");以便服务器将其发送回正确的标头。之后,您需要回显您希望 JavaScript 接收的 XML 格式的数据。如果请求应该通过,请记住不要回显除 XML 之外的任何内容。

于 2012-09-12T19:20:28.413 回答