我正在尝试使用搜索框从 WordPress 站点访问本地 wamp 服务器的数据。我使用函数 get_search_form()
创建了搜索框,但无法在 php 中编写查询来使用该函数进行访问。
我使用了 Wamp 服务器(本地主机)和 Wordpress 站点。
我尝试为搜索框编写 html 代码,并尝试使用它访问数据。但这没有用。我觉得运行单个 php 脚本比运行单独的 html 和 php 脚本更容易。
从数据库获取数据的代码:
$connect = mysqli_connect("localhost", "root", "", "mydb");
$output = '';
if(isset($_POST["query"]))
{
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "
SELECT * FROM clients;
WHERE Name LIKE '%".$search."%'
OR Aadhar LIKE '%".$search."%'
OR Mobile LIKE '%".$search."%'
OR Company LIKE '%".$search."%'
OR Description LIKE '%".$search."%'
";
}
else
{
$query = "SELECT * FROM clients ORDER BY Name";
}
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{
$output .= '
<div class="table-responsive">
<table class="table table bordered">
<tr>
<th>Name</th>
<th>Aadhar</th>
<th>Mobile</th>
<th>Company</th>
<th>Description</th>
</tr>
';
while($row = mysqli_fetch_array($result)
{
$output .= '
<tr>
<td>'.$row["Name"].'</td>
<td>'.$row["Aadhar"].'</td>
<td>'.$row["Mobile"].'</td>
<td>'.$row["Company"].'</td>
<td>'.$row["Description"].'</td>
</tr>
';
}
echo $output;
}
else
{
echo 'Data Not Found';
}
我能够使用此代码成功访问所有数据。
最佳答案
首先,函数 get_search_form();
将创建一个搜索框和一个带有包装表单的提交按钮。表单方法是 GET,因此代码中的 $_POST
是完全错误的。接下来是使用此函数创建的搜索框,其名称为“s”。下面的代码将通过该函数生成:
<form role="search" method="get" class="search-form" action="">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Search …" value="" name="s">
</label>
<input type="submit" class="search-submit" value="Search">
</form>
因此,将您的代码 $_POST['query']
更改为 $_GET['s']
。希望它对您有用。
关于mysql - 如何编写查询以接受搜索框的输入并从 MySql db (Wordpress) 进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53966912/