Ajax 搜索结果点击结果下载文件
Ajax search results with on click result to download file
我的索引页
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Some name</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
<div class="container">
<br />
<h2 align="center">Search by name</h2><br />
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">Search</span>
<input type="text" name="search_text" id="search_text" placeholder="Enter model / search here" class="form-control" />
</div>
</div>
<br />
<div id="result"></div>
</div>
</body>
</html>
<script>
$(document).ready(function(){
load_data();
function load_data(query)
{
$.ajax({
url:"fetch.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#result').html(data);
}
});
}
$('#search_text').keyup(function(){
var search = $(this).val();
if(search != '')
{
load_data(search);
}
else
{
load_data();
}
});
});
</script>
和我的 fetch.php 页面
用于从数据库tables中获取数据并输出结果。
我还添加了如果结果 > 50 它会要求输入更多字符,因为如果我不添加如果结果 > 50 那么我的页面需要 20 秒来显示所有数据,因为我的数据库 table 有 25000 个条目。
<?php
$connect = mysqli_connect("localhost", "root", "PASSWORD", "DATABASE");
if(isset($_POST["query"]))
{
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "
SELECT * FROM files
WHERE Name LIKE '%".$search."%'
";
}
else
{
$query = "
SELECT * FROM files ORDER BY ID
";
}
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) < 500)
{
$output1 .= '
<div class="table-responsive">
<table class="table table bordered">
<div>
<th>Name</th>
<th>URL</th>
<th>Extension</th>
<th>Download</th>
</div>
';
while($row = mysqli_fetch_array($result))
{
$output2 .= '
<tr>
<td>'.$row["Name"].'</td>
<td>'.$row["URL"].'</td>
<td>'.$row["Extension"].'</td>
</tr>
';
}
if(mysqli_num_rows($result) > 0)
{
echo "$output1";
echo "$output2";
}
else
{
echo 'no results found';
}
}
else
{
echo 'Please enter few more charecters';
}
?>
我想要 href link 我的每个结果和点击,它应该从数据库 table.[=15= 的 ./"URL" 列下载一个文件]
我的数据库是这样的:
我的当前页面是 http://mss1996.ddns.net:8008/files
我尝试在 outpur'array' 中添加 但它破坏了我的页面。
如果 URL
字段的内容确实是有效的 URL,您应该能够轻松地添加该字段以形成有效的 URL。我从您的代码中看到缺少的是 http
或 https
(如果它是外部 link)。如果它是页面中的亲戚 link 那么你没问题。然后添加 </a>
以关闭 link。所以你会像这样形成你的 table 列:
echo '<td><a href="' . $row['URL'] . '">' . $row["URL"] . '</a></td>';
我的索引页
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Some name</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
<div class="container">
<br />
<h2 align="center">Search by name</h2><br />
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">Search</span>
<input type="text" name="search_text" id="search_text" placeholder="Enter model / search here" class="form-control" />
</div>
</div>
<br />
<div id="result"></div>
</div>
</body>
</html>
<script>
$(document).ready(function(){
load_data();
function load_data(query)
{
$.ajax({
url:"fetch.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#result').html(data);
}
});
}
$('#search_text').keyup(function(){
var search = $(this).val();
if(search != '')
{
load_data(search);
}
else
{
load_data();
}
});
});
</script>
和我的 fetch.php 页面 用于从数据库tables中获取数据并输出结果。 我还添加了如果结果 > 50 它会要求输入更多字符,因为如果我不添加如果结果 > 50 那么我的页面需要 20 秒来显示所有数据,因为我的数据库 table 有 25000 个条目。
<?php
$connect = mysqli_connect("localhost", "root", "PASSWORD", "DATABASE");
if(isset($_POST["query"]))
{
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "
SELECT * FROM files
WHERE Name LIKE '%".$search."%'
";
}
else
{
$query = "
SELECT * FROM files ORDER BY ID
";
}
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) < 500)
{
$output1 .= '
<div class="table-responsive">
<table class="table table bordered">
<div>
<th>Name</th>
<th>URL</th>
<th>Extension</th>
<th>Download</th>
</div>
';
while($row = mysqli_fetch_array($result))
{
$output2 .= '
<tr>
<td>'.$row["Name"].'</td>
<td>'.$row["URL"].'</td>
<td>'.$row["Extension"].'</td>
</tr>
';
}
if(mysqli_num_rows($result) > 0)
{
echo "$output1";
echo "$output2";
}
else
{
echo 'no results found';
}
}
else
{
echo 'Please enter few more charecters';
}
?>
我想要 href link 我的每个结果和点击,它应该从数据库 table.[=15= 的 ./"URL" 列下载一个文件]
我的数据库是这样的:
我的当前页面是 http://mss1996.ddns.net:8008/files
我尝试在 outpur'array' 中添加 但它破坏了我的页面。
如果 URL
字段的内容确实是有效的 URL,您应该能够轻松地添加该字段以形成有效的 URL。我从您的代码中看到缺少的是 http
或 https
(如果它是外部 link)。如果它是页面中的亲戚 link 那么你没问题。然后添加 </a>
以关闭 link。所以你会像这样形成你的 table 列:
echo '<td><a href="' . $row['URL'] . '">' . $row["URL"] . '</a></td>';