如何清除PHP中的搜索查询?

尼古拉斯·哈桑(Nicholas Hassan)

我有一个搜索表单,该表单使用Javascript根据所选内容更改输入法。因此,如果您选择了“名称”,则会显示一个文本框,但如果您选择了“评分”,则会显示1-5的下拉列表。

<form method="GET" action="results_sample.php">
    <p>Search by: <!-- Dropdown list allows users to search by different elements --> 
    <select id="searchtype" name="searchtype" onchange="changeview()"> <!-- onchange calls changeview() every time the dropdown value is changed. Allows ratings to be seen -->
        <option value="School">School</option>
        <option value="Name">Name</option>
        <option value="Rating">Rating</option>
        <option value="Class Location">Class Location</option>
        <option value="Subject">Subject</option>
    </select>
    </p>
    <span id="standard" style="display:inline">Search Query: <input type="text" name="query"></span>
    <span id="locationsearch" style="display:none"> (Longitude-Lattitude pair) <input type="number" id="longitude" step="any"> - <input type="number" id="latitude" step="any"> </span>
    <span id="ratevalue" style="display:none"> Choose rating: 
    <select id="ratings"> 
        <option value=1>1</option>
        <option value=2>2</option>
        <option value=3>3</option>
        <option value=4>4</option>
        <option value=5>5</option>
    </select>
    </span>
    <p><input type="submit"></p>
</form>

results_sample.php中的相关代码为:

<?php
if (isset($_GET['searchtype'])) {
    if (!empty($_GET['query'])) {
        $search = $_GET['query'];
    } elseif (!empty($_GET['ratings'])) {
        $search = $_GET['ratings'];
    } elseif (!empty($_GET['longitude']) || isset($_GET['latitude'])) {
        $search = 'more to come...';
    }

    echo '<p>Entries containing "', $search, '" in "', $_GET['searchtype'], '"</p>';
    }
?>

我有两个问题:

1)如果我在搜索查询中键入文本,然后切换到等级,然后尝试按等级进行搜索,它仍然在后台不显示文本框,而是使用该信息。

2)如果文本框为空,并且我想按经度-纬度进行搜索,则“评分”仍设置为默认值1(在后台不可见),并且采用该值。

u_mulder

一种选择是检查$_GET['searchtype']值并$_GET根据它选择另一个变量,例如:

switch ($_GET['searchtype']) {
    case 'Name':
        $search = $_GET['query'];
        break;

    case 'Rating':
        $search = $_GET['ratings'];
        break;

    case 'Class Location':
        $search = 'other value';
        break;

    // add more cases as you wish
}

其他选项可以在更改时使用javascript清除其他字段的值,#searchtype但在这种情况下select#ratings仍将发送到服务器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何清除Eclipse中的搜索结果?

来自分类Dev

如何从Android的搜索菜单中清除文本

来自分类Dev

如何清除“ Artha”中的搜索历史?

来自分类Dev

如何在搜索查询中访问php文件?

来自分类Dev

如何在php mysql查询中搜索数字?

来自分类Dev

如何在php中搜索2次之间的查询

来自分类Dev

在PHP中搜索MySQL查询

来自分类Dev

AngularJS:如何清除URL中的查询参数?

来自分类Dev

如何清除查询错误?

来自分类Dev

如何清除查询信息?

来自分类Dev

如何始终显示“ x”以清除Microsoft Edge中的搜索输入?

来自分类Dev

如何从文本框中清除以前的搜索?

来自分类Dev

搜索查询在PHP中不起作用

来自分类Dev

mongodb 在数组 PHP 中查询搜索

来自分类Dev

如何清除php链接中的参数?

来自分类Dev

如何清除/删除/编辑 PHP 中的回声

来自分类Dev

在android和php中搜索查询以搜索栏作为后端

来自分类Dev

如何查询搜索中的最高位数?

来自分类Dev

如何在搜索查询中编写条件?

来自分类Dev

如何估算mysql搜索查询中的行数?

来自分类Dev

如何提高Lucene中的搜索查询效率?

来自分类Dev

如何在 SQL 中编写搜索查询

来自分类Dev

如何在azure搜索中查询url

来自分类Dev

如何使用php将mysql数据表搜索查询导出到csv中?

来自分类Dev

如何从mysql查询中清除重复记录

来自分类Dev

在MySQL中运行UPDATE查询时如何清除错误?

来自分类Dev

如何清除查询表中的这些额外条目?

来自分类Dev

如何使用可选的搜索参数在SQL中创建搜索查询?

来自分类Dev

如何在弹性搜索的搜索查询中避免脚本注入?