


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 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:
echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //Function generation, no LIMIT, no ORDER BY
Generate:
$keyword is obtained by POST or GET. Separate by spaces and can be searched in multiple fields.
The implementation function is as follows:
{
//================================================ ========
//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.
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.
insert into tb_test (`use`) values ('test');
Use this point, which is the one to the left of the number key 1 above

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

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

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

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

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

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

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

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

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
