首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编写查询以接受来自搜索框的输入并从Wordpress db中进行搜索( MySql )

如何编写查询以接受来自搜索框的输入并从Wordpress db中进行搜索( MySql )
EN

Stack Overflow用户
提问于 2018-12-29 13:19:09
回答 1查看 210关注 0票数 0

我正在尝试使用搜索框从Wordpress站点访问本地wamp服务器上的数据。我使用函数get_search_form()创建了搜索框,但是我无法用同样的函数在php中编写一个查询来访问。

我使用过Wamp服务器(本地主机)和一个Wordpress站点。

我曾尝试为搜索框编写html代码,并尝试使用它来访问数据。但它并没有起作用。我觉得运行单个php脚本要比单独运行html和php脚本容易得多。

从db获取数据的代码:

代码语言:javascript
复制
$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';
} 

我可以使用这段代码成功地访问所有数据。

EN

Stack Overflow用户

发布于 2018-12-29 13:25:46

首先,函数get_search_form();将创建一个搜索框和一个带有包装器表单的提交按钮。Form方法是GET,所以代码中的$_POST是完全错误的。接下来是使用此函数创建的搜索框,名称为"s"。下面的代码将通过该函数生成:

代码语言:javascript
复制
<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>

因此,使用$_GET['s']更改您的代码$_POST['query']。希望它能为你工作。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53966912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档