我有一个小问题。我正在与一些未经编程/数据库设计培训的手动测试人员一起工作。我们当前的流程意味着这些手动测试人员需要在特定时间将数据插入我们的数据库,同时我们构建一个 GUI 以方便将来实现这一点。
在此期间,我想创建一个简单的网站。我想对该网站做的只是连接到我们的数据库,允许手动测试人员输入一些关键字,并返回表中与所提供的关键字接近/相关的任何列。这将为我们的测试人员在我们(相当大的)数据库中搜索列节省大量时间。
我怎样才能创建一个这样的网站?我认为这对很多人来说都是有用的,所以我决定在这里发布这个问题来收集 StackOverflow 的想法。
目前,我正在考虑一个带有文本框的简单 PHP 页面,它允许用户输入一些数据,并用逗号分隔。根据逗号分解数据,将其保存在数组中。连接到我的数据库,然后使用信息架构视图检索列信息。我的主要问题是 - 使用信息架构视图检索与用户输入的关键字相关的列的最有效方法是什么?如何确保返回的列是最合适的?
如有任何意见,我们将不胜感激。多谢。
Tl;dr 是粗体部分,适合忙碌的人:)
我认为你可以通过一个简单的表单和一些使用 key up 的 ajax 调用来实现这一点。
这是一个简单的示例,其中每次用户在他们正在搜索的列名称中输入字母时,列表都会更新。
索引.html
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
$(document).ready(function() {
$("#faq_search_input").keyup(function()
{
var faq_search_input = $(this).val();
var dataString = 'keyword='+ faq_search_input;
if(faq_search_input.length>1)
{
$.ajax({
type: "GET",
url: "ajax-search.php",
data: dataString,
success: function(server_response)
{
document.getElementById("searchresultdata").style.display = "block";
$('#searchresultdata').html(server_response).show();
}
});
}return false;
});
});
</script>
</head>
<body>
<div class="searchholder">
<input name="query" class="quicksearch" type="text" id="faq_search_input" />
<div id="searchresultdata" class="searchresults" style="display:none;"> </div>
</div>
</body>
</html>
接下来我们需要一个脚本来执行我们的搜索
ajax-search.php
//you must define your database settings
define("DB_HOST", "FOO");
define("DB_USERNAME", "BAR");
define("DB_PASSWORD", "YOUR PASSWORD");
define("DB_NAME", "DATABASE NAME");
if(isset($_GET['keyword']))
{
$search = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);
if ($search->connect_errno)
{
echo "Failed to connect to MySQL: (" . $search->connect_errno . ") " . $search->connect_error;
$search->close();
}
$keyword = trim($_GET['keyword']) ;
$query ="SELECT COLUMN_NAME FROM ".DB_NAME.".INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE '%".$keyword."%'";
$values = $search->query($query);
if($values->num_rows != 0)
{
while($row = $values->fetch_assoc())
{
echo $row['COLUMN_NAME']."<br>";
}
}
else
{
echo 'No Results for :"'.$_GET['keyword'].'"';
}
}
当用户键入列名时,所有像这样的列名都将立即返回并更新,而无需重新加载页面。希望这可以帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)