Rumah pembangunan bahagian belakang tutorial php 求个小功能写法解决方案

求个小功能写法解决方案

Jun 13, 2016 pm 01:46 PM
array insert

求个小功能写法
有一个分类表 calss

ID -----唯一标识
pid -----父级ID
name -----名字
path -----路径

CREATE TABLE `calss` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `pid` int(11) NOT NULL DEFAULT '0',
  `name` varchar(32) NOT NULL,
  `path` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;



现在求一个路径的写法

例如数据如下 

INSERT INTO calss VALUES ('1', '0', 'WEB开发',web);
INSERT INTO calss VALUES ('2', '1', '后端',control);
INSERT INTO calss VALUES ('3', '2', '语言',language);
INSERT INTO calss VALUES ('4', '2', '数据库',data);
INSERT INTO calss VALUES ('5', '3', 'php',php);
INSERT INTO calss VALUES ('6', '3', 'jsp',jsp);
INSERT INTO calss VALUES ('7', '3', 'asp',asp);
INSERT INTO calss VALUES ('8', '0', '手机应用开发',phone);
INSERT INTO calss VALUES ('9', '8', 'ios',ios);

求 php类别的 路径  
最终结果如下格式
$php_path="web/control/language/php/";


求个具体php代码实现 感激不尽 据说用到递归思想 我看了一天递归 楞是没看明白 递归的思想 

可否能不用递归实现,用递归实现的 请帮忙写清楚每一句代码注释 感激不尽了 


最后一句 老大 你好 妞哥 你好

------解决方案--------------------
可以按照他们说的循环SQL获取

也可以...随便写的,能看懂了自己再改哈

PHP code


//SELECT id,pid,path FROM calss;取得数据集组合成下面的数组
$array = array('1' => 0, '2' => 1, '3' => 2, '4' => 2, '5' => 3, '6' => 3, '7' => 3, '8' => 0, '9' => 8);
$pathArray = array(1 => 'web', 2 => 'control', 3 => 'language', 4 => 'data', 5 => 'php', 6 => 'jsp', 7 => 'asp', 8 => 'phone', 9 => 'ios');
//取得id列表
$idArry=array();
getTopID(5, $array);
//循环id列表输出最后结果
echo listPath(5, $idArr, $pathArray), "\n";
unset($idArr);
getTopID(6, $array);
echo listpath(6, $idArr, $pathArray), "\n";
unset($idArr);
getTopID(8, $array);
echo listpath(8, $idArr, $pathArray), "\n";
unset($idArr);
getTopID(9, $array);
echo listpath(9, $idArr, $pathArray), "\n";
unset($idArr);

//函数
/**
 * 取得上级Id数组
 * @param $id
 * @param $array
 * @return array
 */
function getTopID($id, $array)
{
    global $idArr;
    if (isset($array[$id])) {
        $idArr[] = $array[$id];
        getTopID($array[$id], $array);
    }
}

/**
 * 根据上级ID数组排序结果
 * @param $id
 * @param $list
 * @param $array
 * @return string
 */
function listPath($id, $list, $array)
{
    $path = '';
    array_push($list, $id);
    sort($list);
    foreach ($list as $value) {
        if (isset($array[$value])) {
            $path .= $array[$value] . '/';
        }
    }
    return $path;
} <div class="clear">
                 
              
              
        
            </div>
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara insert ignore, insert dan replace dalam mysql Apakah perbezaan antara insert ignore, insert dan replace dalam mysql May 29, 2023 pm 04:40 PM

Perbezaan antara arahan insertignore, masukkan dan ganti sudah wujud atau tidak Contoh ralat sisipan (nama,umur)nilai("Xiaoming",23);insertignore mengabaikan nilai insertignoreintonames("Xiaoming",24) ;ganti Ganti dan masukkan nilai gantiintonames(nama,umur)("Xiao Ming", 25); Keperluan jadual: PrimaryKey, atau hasil indeks unik: id jadual akan ditambah secara automatik

Isih tatasusunan menggunakan fungsi Array.Isih dalam C# Isih tatasusunan menggunakan fungsi Array.Isih dalam C# Nov 18, 2023 am 10:37 AM

Tajuk: Contoh menggunakan fungsi Array.Sort untuk mengisih tatasusunan dalam Teks C#: Dalam C#, tatasusunan ialah struktur data yang biasa digunakan dan operasi pengisihan tatasusunan selalunya diperlukan. C# menyediakan kelas Array, yang mempunyai kaedah Isih untuk menyusun tatasusunan dengan mudah. Artikel ini akan menunjukkan cara menggunakan fungsi Array.Sort dalam C# untuk mengisih tatasusunan dan memberikan contoh kod khusus. Pertama, kita perlu memahami penggunaan asas fungsi Array.Sort. Susunan.Jadi

Gunakan fungsi StringBuilder.insert() java untuk memasukkan rentetan pada kedudukan yang ditentukan Gunakan fungsi StringBuilder.insert() java untuk memasukkan rentetan pada kedudukan yang ditentukan Jul 24, 2023 pm 09:37 PM

Gunakan fungsi StringBuilder.insert() java untuk memasukkan rentetan pada kedudukan tertentu StringBuilder ialah kelas dalam Java yang digunakan untuk mengendalikan rentetan pembolehubah. Fungsi insert() digunakan untuk Salah satu kaedah biasa memasukkan rentetan secara kedudukan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan fungsi insert() untuk memasukkan rentetan pada kedudukan tertentu dan memberikan contoh kod yang sepadan. masukkan()

Bagaimana untuk menambah, mengedit dan memadam baris jadual dalam jQuery? Bagaimana untuk menambah, mengedit dan memadam baris jadual dalam jQuery? Sep 05, 2023 pm 09:49 PM

Dalam era pembangunan web hari ini, pengurusan jadual yang berkesan dan cekap telah menjadi sangat penting, terutamanya apabila berurusan dengan aplikasi web berat data. Keupayaan untuk menambah, mengedit dan memadam baris secara dinamik daripada jadual boleh meningkatkan pengalaman pengguna dengan ketara dan menjadikan aplikasi lebih interaktif. Cara yang berkesan untuk mencapai ini adalah dengan memanfaatkan kuasa jQuery. jQuery menyediakan banyak ciri untuk membantu pembangun melaksanakan operasi. Baris jadual Baris jadual ialah koleksi data yang saling berkaitan, diwakili oleh elemen dalam HTML. Ia digunakan untuk mengumpulkan sel (diwakili oleh unsur) dalam jadual. Setiap elemen digunakan untuk menentukan baris dalam jadual, dan untuk jadual berbilang atribut, ia biasanya mengandungi satu atau lebih elemen. Syntax$(selector).append(co

Kaedah mudah dan jelas untuk menggunakan fungsi PHP array_merge_recursive(). Kaedah mudah dan jelas untuk menggunakan fungsi PHP array_merge_recursive(). Jun 27, 2023 pm 01:48 PM

Apabila pengaturcaraan dalam PHP, kita selalunya perlu menggabungkan tatasusunan. PHP menyediakan fungsi array_merge() untuk melengkapkan penggabungan tatasusunan, tetapi apabila kunci yang sama wujud dalam tatasusunan, fungsi ini akan menimpa nilai asal. Untuk menyelesaikan masalah ini, PHP juga menyediakan fungsi array_merge_recursive() dalam bahasa, yang boleh menggabungkan tatasusunan dan mengekalkan nilai kunci yang sama, menjadikan reka bentuk program lebih fleksibel. array_merge

Cara menggunakan fungsi array_combine dalam PHP untuk menggabungkan dua tatasusunan menjadi tatasusunan bersekutu Cara menggunakan fungsi array_combine dalam PHP untuk menggabungkan dua tatasusunan menjadi tatasusunan bersekutu Jun 26, 2023 pm 01:41 PM

Dalam PHP, terdapat banyak fungsi tatasusunan berkuasa yang boleh menjadikan operasi tatasusunan lebih mudah dan lebih pantas. Apabila kita perlu menggabungkan dua tatasusunan ke dalam tatasusunan bersekutu, kita boleh menggunakan fungsi array_combine PHP untuk mencapai operasi ini. Fungsi ini sebenarnya digunakan untuk menggabungkan kekunci satu tatasusunan sebagai nilai tatasusunan lain ke dalam tatasusunan bersekutu baharu. Seterusnya, kami akan menerangkan cara menggunakan fungsi array_combine dalam PHP untuk menggabungkan dua tatasusunan menjadi tatasusunan bersekutu. Ketahui tentang array_comb

Penjelasan terperinci tentang penggunaan fungsi PHP array_fill(). Penjelasan terperinci tentang penggunaan fungsi PHP array_fill(). Jun 27, 2023 am 08:42 AM

Dalam pengaturcaraan PHP, tatasusunan ialah struktur data yang sangat penting yang boleh mengendalikan sejumlah besar data dengan mudah. PHP menyediakan banyak fungsi berkaitan tatasusunan, array_fill() adalah salah satu daripadanya. Artikel ini akan memperkenalkan secara terperinci penggunaan fungsi array_fill(), serta beberapa petua dalam aplikasi praktikal. 1. Gambaran keseluruhan fungsi array_fill() Fungsi array_fill() adalah untuk mencipta tatasusunan nilai yang sama dengan panjang yang ditentukan. Secara khusus, sintaks fungsi ini ialah

sisipkan kenyataan sisipkan kenyataan Sep 15, 2023 pm 01:30 PM

Sintaks asas pernyataan sisipan ialah "MASUKKAN KE DALAM nama jadual (lajur 1, lajur 2, lajur 3, ...), NILAI (nilai 1, nilai 2, nilai 3, ...);", "nama jadual" akan disisipkan Nama jadual data "Lajur 1", "Lajur 2", "Lajur 3", dll. ialah nama lajur dalam jadual di mana data hendak disisipkan. "Nilai 2", "Nilai 3", dsb. ialah nama lajur yang akan disisipkan.

See all articles