Table of Contents
PHP+Mysql implements functions for generating SQL statements with multiple keywords and fields, mysqlsql
How to achieve unlimited level classification with php+mysql and how to design the database? A SQL statement reads the data and generates an array
What to do if there are keywords in the sql statement in mysql
Home Backend Development PHP Tutorial PHP+Mysql implements functions for generating SQL statements with multiple keywords and multiple fields, mysqlsql_PHP tutorial

PHP+Mysql implements functions for generating SQL statements with multiple keywords and multiple fields, mysqlsql_PHP tutorial

Jul 13, 2016 am 10:15 AM
mysql php sql statement

PHP+Mysql implements functions for generating SQL statements with multiple keywords and fields, mysqlsql

The example in this article describes the method of PHP+Mysql to implement functions for generating SQL statements with multiple keywords and multiple fields. Share it with everyone for your reference. The specific implementation method is as follows:

Look at the example first:

Copy code The code is as follows:
$keyword="1 2 3";
echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //Function generation, no LIMIT, no ORDER BY

Generate:
Copy code The code is as follows:
SELECT * FROM `enter_gongyin_pic` WHERE `a` LIKE '%1%' OR `a` LIKE '%2 %' OR `a` LIKE '%3%' OR `b` LIKE '%1%' OR `b` LIKE '%2%' OR `b` LIKE '%3%' OR `c` LIKE '%1 %' OR `c` LIKE '%2%' OR `c` LIKE '%3%'

$keyword is obtained by POST or GET. Separate by spaces and can be searched in multiple fields.

The implementation function is as follows:

Copy code The code is as follows:
function search($keyword,$table,$field)
{
//================================================ ========

//Formal parameter description:
//keyword is the keyword, such as "Beijing Capital Direction Train". With or without spaces
//table is the table name, such as enter_gongyin_pic.
//Field is a combination of fields. If you want to find a field, just write name
//If you want to find more than two, use name+picdir
//================================================ ========
//First determine the field
$new_field=explode("+",$field); //Press + to peel
$field_count=count($new_field); //The number of results obtained


$newstring=explode(" ",$keyword); //Split by spaces
$newstring2=array();
//Remove useless spaces and uncle elements from the string
$i=0;
foreach ($newstring as $key => $value) {
if($value!="")

$newstring2[$i]=$value;
$i++;
}  
}  
//Remove useless space elements from the string,
                                                                            $result_count=count($newstring2); //The number of results obtained

//Generate SQL statement below


//************************ if($field_count==1) //Find 1 field START *********** *****************
if($field_count==1) //Find 1 field
{
if($result_count==1) //Judge if it is a key segment

$newstring_search=$newstring2[0];
$sql="SELECT *
FROM `$table`
WHERE `".$new_field[0]."` LIKE '%$newstring_search%'";
}  
       
if($result_count>1) //Judge if there are multiple key segments


$sql="SELECT *
FROM `$table`
WHERE ";
$sql_add="";
foreach ($newstring2 as $key => $value)
{
if($key==0)

$sql_add=$sql_add."`".$new_field[0]."` LIKE '%".$value."%'";
}  
else

$sql_add=$sql_add." OR `".$new_field[0]."` LIKE '%".$value."%'";
       
                                                                                                                                                                                                                                                                                            
$sql=$sql.$sql_add;
}

}

//********************** if($field_count==1) //Find 1 fieldEND ************* *****************


//************************ if($field_count>1) //Find multiple fields START ************ ****************
if($field_count>1) //Find multiple fields. At this time, $new_field is an array. Has multiple fields
{
if($result_count==1) //Judge if it is a key segment
{
          $newstring_search=$newstring2[0]; //$newstring_search is the keyword
         $sql="SELECT *                                                                         FROM `$table`
WHERE ";
          $sql_add="";//Newly added fields
foreach ($new_field as $key => $value)
                                                                                   If($key==0)
                                                                                           $sql_add=$sql_add."`".$value."` LIKE '%".$newstring_search."%'";
                                                                                                                                else                                                                                           $sql_add=$sql_add." OR `".$value."` LIKE '%".$newstring_search."%'";
                                                                                                                                                                                                                                                       $sql=$sql.$sql_add;
}
if($result_count>1) //Judge if there are multiple key segments (multiple keywords) ==========================
{
$sql="SELECT *
FROM `$table`
WHERE ";
$sql_add="";//Newly added fields
foreach ($new_field as $key => $value)
{
if($key==0) //When encountering $new_field[0] Example: `a` LIKE '%1%' OR `a` LIKE '%2%' OR `a` LIKE '%3%'
{ //Nested foreach
foreach ($newstring2 as $key2 => $value2)
                                                                         If($key2==0)
                                                                                                    $sql_add=$sql_add."`".$value."` LIKE '%".$value2."%'";
                                                                                                                                                                                                   else                                                                                                     $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'";
                                                                                                                                                                                                                                                        //Nested foreach
}  
else
//(If it is multi-field, such as checking the name+picdir table) Start a FOREACH continuous loop, and execute ELSE $new_field[1] $new_field[2] $new_field[3] each time.
//The corresponding value is $value
{
//Nested foreach (multiple fields and multiple keywords)
foreach ($newstring2 as $key2 => $value2)
                                                                         If($key2==0)
                                                                                                    $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'";
                                                                                                                                                                                                   else                                                                                                     $sql_add=$sql_add." OR `".$value."` LIKE '%".$value2."%'";
                                                                                                                                                                                                                                                                //Nested foreach
}  
                                                                            }//foreach ($new_field as $key => $value) ends
$sql=$sql.$sql_add;
}//if($result_count>1)end
}//if($field_count>1) end
//************************ if($field_count>1) //Find multiple fieldsEND ************ ****************
return $sql;
}

I hope this article will be helpful to everyone’s PHP programming design.

How to achieve unlimited level classification with php+mysql and how to design the database? A SQL statement reads the data and generates an array

The infinite levels you are talking about are not infinite in the form of a tree. They are just saying that the number of categories is unlimited and there are only two levels, right?

Generally, there are not many major categories and can be represented by one character. For example, use A~Z to encode, A is news, B is sports,...

The category of news can be set to character type, the first one represents the big tired, and the following represents the small category, such as A001 international news , A002 domestic news, B001 basketball,...

Create two tables, one is the news category table, with two fields: category code, category name; the other category table also has two fields: Category code, category name

In your news table, just use a character type category field.

To generate a tree directory output like yours, it is very simple to start. Just sort your SQL statements according to categories. The program checks whether each piece of data is the same as the category above to determine whether the previous one is displayed. + or |, that's all.

What to do if there are keywords in the sql statement in mysql

insert into tb_test (`use`) values ​​('test');

Use this point, which is the one to the left of the number key 1 above

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/906678.htmlTechArticlePHP+Mysql realizes the function of generating SQL statements with multiple keywords and multiple fields, mysqlsql This article describes PHP+Mysql with examples Method to implement functions for generating SQL statements with multiple keywords and multiple fields. Share with everyone...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

How to fix mysql_native_password not loaded errors on MySQL 8.4 How to fix mysql_native_password not loaded errors on MySQL 8.4 Dec 09, 2024 am 11:42 AM

One of the major changes introduced in MySQL 8.4 (the latest LTS release as of 2024) is that the "MySQL Native Password" plugin is no longer enabled by default. Further, MySQL 9.0 removes this plugin completely. This change affects PHP and other app

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Top 10 PHP CMS Platforms For Developers in 2024 Top 10 PHP CMS Platforms For Developers in 2024 Dec 05, 2024 am 10:29 AM

CMS stands for Content Management System. It is a software application or platform that enables users to create, manage, and modify digital content without requiring advanced technical knowledge. CMS allows users to easily create and organize content

How to Add Elements to the End of an Array in PHP How to Add Elements to the End of an Array in PHP Feb 07, 2025 am 11:17 AM

Arrays are linear data structures used to process data in programming. Sometimes when we are processing arrays we need to add new elements to the existing array. In this article, we will discuss several ways to add elements to the end of an array in PHP, with code examples, output, and time and space complexity analysis for each method. Here are the different ways to add elements to an array: Use square brackets [] In PHP, the way to add elements to the end of an array is to use square brackets []. This syntax only works in cases where we want to add only a single element. The following is the syntax: $array[] = value; Example

See all articles