


Recursive method PHP implements infinite level classification to implement code recursive method
At first I thought that such a function seemed difficult. I had made an encyclopedia before, which also involved the classification function, but it was not an infinite classification, but a simple implementation of a fixed three-level classification. I designed it myself at the time. , when I think about it, the implementation method is too crude. In fact, three-level classification is just a special case of infinite-level classification. After thinking about it for a while, I already had some ideas. I checked online and found that there are so many such things, haha. In fact, the infinite drop-down list function is very simple, it is nothing more than using a recursive algorithm.
First of all, you need to design the database. You need to build a table to store classification information. At least 3 fields are required. The first is the primary key (ID), the second is the parent classification ID (parentid), and the third is the name of the classification. (classname). A possible effect is:
ID PARENTID CLASSNAME
1 0 First-level classification A
2 0 First-level classification B
3 1 Second-level classification A
4 1 Second-level classification B
Main idea: First look at the third line and the In the fourth row, the value of the parent class ID (PARENTID) is 1, indicating that it belongs to a subclass of the class with id=1. However, the first and second rows are first-level classifications and have no superior classifications, so the parent class ID (PARENTID) The value is 0, indicating primary classification, and so on to achieve infinite classification. The final effect is:
├First-level classification A
├─┴Second-level classification A
├─┴Second-level classification B
├First-level classification B
Then there is the program. PHP is used as the description language here, which can be easily modified. In other languages, the principle is similar, it is just recursion.
Copy the code The code is as follows:
$dbhost = "localhost"; // Database host name
$dbuser = "root"; // Database user name
$dbpd = "123456 "; // Database password
$dbname = "test"; // Database name
mysql_connect($dbhost,$dbuser,$dbpd); //Connect to host
mysql_select_db($dbname); //Select database
mysql_query(" SET NAMES 'utf8'");
display_tree("├",0);
function display_tree($tag,$classid) {
$result = mysql_query("
SELECT *
FROM ylmf_class
WHERE parentid = '" . $ classid . "'
;"
);
while ($row = mysql_fetch_array($result)) {
// Indent the node name
echo $tag.$row['classname'] . "
//Call this function again to display the child nodes of the child node
display_tree($tag."─┴",$row['id']);
}
}
?>
This recursive method , it is a burden for a large number of sub-columns, some mature cms systems. They all produce arrays for easy calling and can greatly improve efficiency.
The above introduces the recursive method of PHP to implement infinite classification and code recursive method, including the content of recursive method. I hope it will be helpful to friends who are interested in PHP tutorials.

PHPsessionscanstorestrings,numbers,arrays,andobjects.1.Strings:textdatalikeusernames.2.Numbers:integersorfloatsforcounters.3.Arrays:listslikeshoppingcarts.4.Objects:complexstructuresthatareserialized.

TostartaPHPsession,usesession_start()atthescript'sbeginning.1)Placeitbeforeanyoutputtosetthesessioncookie.2)Usesessionsforuserdatalikeloginstatusorshoppingcarts.3)RegeneratesessionIDstopreventfixationattacks.4)Considerusingadatabaseforsessionstoragei

Session regeneration refers to generating a new session ID and invalidating the old ID when the user performs sensitive operations in case of session fixed attacks. The implementation steps include: 1. Detect sensitive operations, 2. Generate new session ID, 3. Destroy old session ID, 4. Update user-side session information.

PHP sessions have a significant impact on application performance. Optimization methods include: 1. Use a database to store session data to improve response speed; 2. Reduce the use of session data and only store necessary information; 3. Use a non-blocking session processor to improve concurrency capabilities; 4. Adjust the session expiration time to balance user experience and server burden; 5. Use persistent sessions to reduce the number of data read and write times.

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHPidentifiesauser'ssessionusingsessioncookiesandsessionIDs.1)Whensession_start()iscalled,PHPgeneratesauniquesessionIDstoredinacookienamedPHPSESSIDontheuser'sbrowser.2)ThisIDallowsPHPtoretrievesessiondatafromtheserver.

The security of PHP sessions can be achieved through the following measures: 1. Use session_regenerate_id() to regenerate the session ID when the user logs in or is an important operation. 2. Encrypt the transmission session ID through the HTTPS protocol. 3. Use session_save_path() to specify the secure directory to store session data and set permissions correctly.

PHPsessionfilesarestoredinthedirectoryspecifiedbysession.save_path,typically/tmponUnix-likesystemsorC:\Windows\TemponWindows.Tocustomizethis:1)Usesession_save_path()tosetacustomdirectory,ensuringit'swritable;2)Verifythecustomdirectoryexistsandiswrita


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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SublimeText3 Linux new version
SublimeText3 Linux latest version

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

SublimeText3 Chinese version
Chinese version, very easy to use

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.
