So implementieren Sie Fuzzy-Abfragen in PHP (Grafikcode)
Der Inhalt dieses Artikels befasst sich mit der Implementierung von Fuzzy-Abfragen (Grafik- und Textcode) in PHP. Ich hoffe, dass er für Freunde hilfreich ist.
Einführung
Im Wesentlichen aufschlussreiche PHP-Fuzzy-Query-Technologie
Funktion
-
Finden Sie relevante Benutzer basierend auf den eingegebenen Schlüsselwörtern
PHP User Queryer Case Analysis
Kursziele
Meistern Sie die Anwendung der PHP-Fuzzy-Technologie
Wichtige Punkte des Kurses
Die Syntax der PHP-Fuzzy-Abfrage
Anwendung der PHP-Fuzzy-Abfrage
Kursfall (Rendering)
Datenbankdesign
Benutzertabelle ( Benutzer):
CREATE TABLE user( `uid` int(10) AUTO_INCREMENT PRIMARY KEY COMMENT '用户ID', `username` varchar(30) NOT NULL DEFAULT '' COMMENT '用户名', `password` varchar(6) NOT NULL DEFAULT '' COMMENT '密码', `sex` char(2) NOT NULL DEFAULT '保密' COMMENT '性别', `email` varchar(40) NOT NULL DEFAULT '' COMMENT '邮箱', `hobby` varchar(255) NOT NULL DEFAULT '' COMMENT '兴趣爱好', KEY `username`(`username`)//索引 )ENGINE=MyISAM DEFAULT CHARSET=UTF8 COMMENT='用户表'
Vorteile der Indizierung:
Wenn Sie Daten gemäß einer bestimmten Bedingung abrufen und das Bedingungsfeld nicht indiziert ist, wird bei der Abfrage die gesamte Tabelle durchlaufen. Wenn Sie einen Index erstellen, basiert die Abfrage auf dem Index, wodurch die Abfrageleistung verbessert wird
Mysql-Fuzzy-Abfragesyntax
SQL-Abgleichsmodus (der in der Entwicklung am häufigsten verwendete)
Muster für den Abgleich regulärer Ausdrücke
SQL-Übereinstimmungsmuster
Sie können den Operator = oder != nicht verwenden, sondern den Operator LIKE oder NOT LIKE
verwendet den SQL-Matching-Modus. MYSQL bietet zwei Platzhalterzeichen:
①% steht für eine beliebige Anzahl beliebiger Zeichen (einschließlich 0)
②_ Jedes durchdargestellte einzelne Zeichen verwendet den SQL-Übereinstimmungsmodus. Wenn das Übereinstimmungsformat keines der beiden oben genannten Platzhalterzeichen enthält, entspricht der Abfrageeffekt = oder !=
SQL-Abgleichsmuster verwenden, Groß- und Kleinschreibung standardmäßig nicht berücksichtigen
代码实现: SELECT * FROM user WHERE username like 'l%'; SELECT * FROM user WHERE username like '%e'; SELECT * FROM user WHERE username like '%o%'; SELECT * FROM user WHERE username like '___';//三个_,表示username为三个字符的结果集 SELECT * FROM user WHERE username like '_o%';//第二个字符为o
Abgleichsmuster für reguläre Ausdrücke
. entspricht jedem einzelnen Zeichen
* entspricht 0 oder mehr Zeichen davor
eg:x* 表示匹配任何数量的x字符
[] entspricht jedem Zeichen in Klammern
eg:[abc] 匹配字符a、b后者c [a-z] 匹配任何字母 [0-9] 匹配任何数字 [0-9]* 匹配任何数量的任何数字 [a-z]* 匹配任何数量的任何字母
^ bedeutet, dass es mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge beginnt
eg:^a 表示以字母a开头
$ stellt ein bestimmtes Zeichen- oder Zeichenfolgenergebnis dar
eg:s$ 表示以字母s结尾
Verwenden Sie reguläre Ausdrücke. Operatoren, die in Vergleichsmustern verwendet werden: REGEXP(RLIKE) oder NOT REGEXP(NOT RLIKE)
code:SELECT * FROM user WHERE username REGEXP '^l'; SELECT * FROM user WHERE username REGEXP '...';
PS: Wenn Sie nur das Platzhalterzeichen . verwenden, gibt es mehrere Punkt-Platzhalterzeichen, vorausgesetzt, N , dann stellt das passende Muster größer als dar oder gleich N
genaue Anzahl von Zeichen
^...$ //表示只能为三个字符 SELECT * FROM user WHERE username REGEXP '^...$';
Fall
Entwicklungsprozess
Quellcode-Analyse
<?php //关键字 $keywords = isset($_POST['keywords'])?$_POST['keywords']:''; //连接数据库,php7废弃了mysql_connect推荐使用 mysqli_connect$link = mysqli_connect( "localhost:3306", "root", "root", "mook"); if(!empty($keywords)){ $sql = "SELECT * FROM user WHERE username like '%{$keywords}%' "; }else{ $sql = "SELECT * FROM user"; }$usersArr = [];$result = $link->query($sql);while($row = $result->fetch_assoc()) { //简单高亮显示 // $row['username'] = str_replace($keywords, "<font color='red'>".$keywords."</font>",$row['username']); //高亮显示,不区分关键字的大小写 $usernameArr = preg_split('/(?<!^)(?!$)/u',$row['username']); foreach ($usernameArr as $key => $value) { if(strtoupper($keywords) == strtoupper($value)){ $usernameArr[$key] = "<font color='red'>".$value."</font>"; } } $row['username'] = join($usernameArr); $usersArr[] = $row; }?><!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php用户查询器</title> </head> <body> <h1 id="php模糊查询">php模糊查询</h1> <form action="index.php" method="post"> 用户名:<input type="text" name="keywords" value="" /> <input type="submit" value="提交查询" /> </form> <?php if(!empty($keywords)){ echo "查询关键词:<font color='red'> ".$keywords." </font>结果!"; } $tableString = "<table width='500' border='1' cellpadding='5'>"; $tableString .= "<tr bgcolor='orange'><th>用户名</th><th>邮箱</th><th>性别</th></tr>"; if(!empty($usersArr)){ foreach ($usersArr as $key => $value) { $tableString .= "<tr><td>" . $value['username']. "</td><td>" . $value['email'] . "</td><td>".$value['sex']."</td></tr>"; } }else{ $tableString .="<tr><td colspan='3'>没有数据</td></tr>"; } $tableString .= "</table>"; echo $tableString; ?> </body> </html>
Quellcode-Download-Adresse:
Link :https: //pan.baidu.com/s/1F8duu8G2iCa4xgNLBbiLCg Passwort: 96fn
Verwandte Empfehlungen:
PHP-Codebeispiel, um zu erkennen, dass Mitgliedskonten nur eindeutig angemeldet werden können
PHP-Codebeispiel, um zu erkennen, dass ein Mitgliedskonto nur als Einziger angemeldet sein kann
Das obige ist der detaillierte Inhalt vonSo implementieren Sie Fuzzy-Abfragen in PHP (Grafikcode). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
