PHP模式匹配搜索系统

发布于 2024-11-02 21:23:44 字数 349 浏览 0 评论 0原文

我正在尝试根据文本框中输入的字母进行 PHP 搜索。我希望它匹配一个模式并从数据库中找到相关结果。

因此,如果我输入

"Jo Smi"

It 会找到结果

Jo Smith, Pojo Smithson, Ojo Smith

如何实现这一目标。我知道如何从数据库中获取信息,但不知道各个字段的部分信息。

目标是搜索在 user_firstnameuser_lastnameuser_email 字段中搜索的用户

有什么想法吗?

I am trying to have PHP search based on letters entered into a text box. I want it to match a pattern and find the relevant results from the database.

So if I typed in

"Jo Smi"

It would find results

Jo Smith, Pojo Smithson, Ojo Smith

How would one achieve this. I know how to get information from the database but not parts of various fields.

The objective is to search through users searching in fields user_firstname, user_lastname and user_email

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

月隐月明月朦胧 2024-11-09 21:23:44

您应该能够直接从查询中执行此操作。

获取文本框结果并转义它们,然后执行

SELECT * FROM `database` WHERE `name` REGEXP '{INPUT TEXT HERE}';

我认为应该可行的操作。

You should be able to do that directly from your query.

get the text box results and escape them then do

SELECT * FROM `database` WHERE `name` REGEXP '{INPUT TEXT HERE}';

That should work I think.

神经暖 2024-11-09 21:23:44

您可以使用 LIKE 子句对数据库中的字段进行简单搜索:

$query = "SELECT Fields FROM Table WHERE TestField LIKE '%".$escapedTextString."%'";

You can do simplistic searching on fields in a database using the LIKE clause:

$query = "SELECT Fields FROM Table WHERE TestField LIKE '%".$escapedTextString."%'";
烟雨凡馨 2024-11-09 21:23:44

对大写版本的搜索词进行 LIKE 搜索。不要忘记mysql_real_escape_string()

$searchpattern = mysql_real_escape_string(strtoupper("Jo Smi"));
mysql_query("SELECT * FROM table WHERE UPPER(column) LIKE '%$searchpattern%';"); 

Do a LIKE search against an upper-cased version of your search terms. Don't forget to mysql_real_escape_string().

$searchpattern = mysql_real_escape_string(strtoupper("Jo Smi"));
mysql_query("SELECT * FROM table WHERE UPPER(column) LIKE '%$searchpattern%';"); 
清风夜微凉 2024-11-09 21:23:44

你好,伙计,以前的答案很好
但你想知道这个信息

  1. 获取变量=>; <代码>$名称 =
    $_GET['name'];

  2. 如果你想让它变成大写
    请使用 strtoupper();

  3. 如果您愿意,
    使其小写使用
    strtolower();
  4. 如果你愿意的话
    搜索您应该将 = 替换为
    其中 where name = $name
    其中名称如 $name
  5. 此信息
  6. abc% =>变量以 abc 开头并以任意内容
  7. %abc% => 结束变量开始任何事物,包含 abc,以任何事物结束
  8. %abc =>;变量开始任何事情,以 abc 结束

Hello Man previous answer is good
but you want to know this info

  1. get the variable => $name =
    $_GET['name'];

  2. if you want to make it upper case
    use strtoupper();

  3. if you want to
    make it Lower case use
    strtolower();
  4. if you want to
    search you should replace = with
    where like where name = $name to
    where name like $name
  5. this info
  6. abc% => variable start with abc and finish with any thing
  7. %abc% => variable start any thing , contain abc , finish with any thing
  8. %abc => variable start any thing ,finish with abc
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文