What you want to do in the end
I want to display the parent-child hierarchy category in PHP
Q
After searching, I found [PHP][Recursive function version] that I tried to register and display categories of parents, children, and grandchildren. How do I configure mySQL table to get the following data in PHP?
·Create three tables: 'cat' 'subcat' 'subcat' ?
·Or can I get the data of the following configuration regardless of the table configuration?
46$files=[
47'file1' = > [
48'cat' = > 'Book',
49'subcat'=>'programming',
50'subcat'=>'php',
51 ],
52'file2' = > [
53'cat' = > 'Work',
54'subcat'=>'programming',
55'subcat'=>'php',
56 ],
57'file3' = > [
58'cat' = > 'Work',
59'subcat' = > 'Change of jobs',
60'subcat'=>'it Industry',
61 ],
62'file4' = > [
63'cat' = > 'Book',
64'subcat' = > 'Self-development',
65 ],
66'file5' = > [
67'cat'=>'Amazon',
68 ],
69];
最適 I would like to know which table configuration you think is the best.
Environment
MySQL 5.7
PHP 7.2
I think it is difficult to normalize DB because there are too few requirements.
For example, subcat
is the same in programming
, but since the parent cat
is in a different category, can programming
of subcat
be treated as a different category?
Is there a limit to the depth of the hierarchy?I would like you to write down some more requirements for what you want to do.
If you can treat it as a different category and the hierarchy of the parent-child hierarchy does not deepen, I think you can do it if you have the following two tables.
The general structure of each table is as follows:
In the above two tables, while retrieving the list of files from DB, you will get the category ID of the lowest layer, so
"After that, if PHP recursively executes the ""Get Category Name and Parent Category ID"" function until the parent category disappears, the requested configuration will be realized."
For example, there are only three tiers, so I can't determine if there are more than four tiers, but
The above category table is a recursive structure and can theoretically be any number of tiers.
*I don't recommend it because the call of recursive functions increases as the hierarchy deepens.
Also, if you change the subsubsubcat
part to subsubsubcat
depending on the depth of the hierarchy, you can determine the depth of the target category by counting it during recursive calls.
After that, add columns to meet your requirements or separate tables.
Are you helping me answer this question?
944 When building Fast API+Uvicorn environment with PyInstaller, console=False results in an error
589 PHP ssh2_scp_send fails to send files as intended
646 Uncaught (inpromise) Error on Electron: An object could not be cloned
636 GDB gets version error when attempting to debug with the Presense SDK (IDE)
© 2024 OneMinuteCode. All rights reserved.