微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-根据用户输入过滤结果

我目前正在研究一种“列表”,用户可以在其中输入不同的数据以创建各种活动(特别是在模拟器中)的日志.我已经掌握了它的基础知识,并且实际上已经完全运行起来了,但是,仍然有一个组件对我来说很关键.这样,用户还可以搜索路线的作者.因此,如下所示:

名称-距离-日期

鲍勃-100公里-2015年1月1日

琼斯-200公里-2015年1月1日

琼斯-250公里-2015年1月1日

这实际上是用户会看到的列表.如果用户输入“ Jones”,则他们应该只能看到Jones的结果.但是,我无法使它正常工作.

我当前用于尝试实现“过滤器”的代码

<div class="filters">
        <ul>
            <li>
                <form method="POST" action="index.PHP?category=trucking">
                    <input type="text" name="filterName" />
                    <input type="submit" name="submit" label="Search for Author" />
                </form>
            </li>
            <li>
                <a href="index.PHP?category=addEntryFT"><b>Add a entry</b></a>
            </li>
        </ul>
    </div>
    <div class="results">

        <?PHP
            // Get from database
                      if(isset($_POST['submit'])) {

                      $filterName = $_POST['filterName'];

                      $result = MysqLi_query($anslutning, "SELECT * FROM tblLogs WHERE category = 'trucking' AND author LIKE '$filterName'");
                        }

        ?>

因此,首先我创建一个表单,用户可以在其中放置一个作者,而无论他们放置什么,都应该应用.两个问题:

1)表单使页面重定向上一页,并且2)它不过滤掉任何内容

因此,在最基本的搜索栏中,它几乎指向数据库并检查那里的记录,而这正是我所必须提供的,显然不起作用.

解决方法:

对于IST问题:

在表单字段中使用空操作,因为您的所有代码都位于一个文件中,例如:

<form method="post" action="">

第二点:

您需要为匹配的字符串添加%符号,例如:

$result = MysqLi_query($anslutning, "SELECT * FROM tblLogs WHERE category = 'trucking' AND author LIKE '%$filterName%'"); 

边注:

如果您还希望将类别用作表单字段,则可以使用隐藏的表单输入作为类别.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐