Heim Backend-Entwicklung PHP-Tutorial 求个小功能写法解决方案

求个小功能写法解决方案

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>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen Einfügen, Ignorieren, Einfügen und Ersetzen in MySQL? Was ist der Unterschied zwischen Einfügen, Ignorieren, Einfügen und Ersetzen in MySQL? May 29, 2023 pm 04:40 PM

Der Unterschied zwischen insertignore-, insert- und replacement-Anweisungen ist bereits vorhanden oder nicht. ;replace Ersetzen und einfügen replacementintonames(name,age)values("Xiao Ming", 25); Tabellenanforderungen: PrimaryKey oder eindeutiges Indexergebnis: Die Tabellen-ID wird automatisch erhöht. Testcode erstellt Tabelle

Array mit der Array.Sort-Funktion in C# sortieren Array mit der Array.Sort-Funktion in C# sortieren Nov 18, 2023 am 10:37 AM

Titel: Beispiel für die Verwendung der Array.Sort-Funktion zum Sortieren eines Arrays in C#. Text: In C# ist Array eine häufig verwendete Datenstruktur, und häufig sind Array-Sortiervorgänge erforderlich. C# stellt die Array-Klasse bereit, die über die Sort-Methode verfügt, um Arrays bequem zu sortieren. In diesem Artikel wird gezeigt, wie Sie ein Array mithilfe der Array.Sort-Funktion in C# sortieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die grundlegende Verwendung der Array.Sort-Funktion verstehen. Array.So

Verwenden Sie die StringBuilder.insert()-Funktion von Java, um eine Zeichenfolge an der angegebenen Position einzufügen Verwenden Sie die StringBuilder.insert()-Funktion von Java, um eine Zeichenfolge an der angegebenen Position einzufügen Jul 24, 2023 pm 09:37 PM

Verwenden Sie die Funktion StringBuilder.insert(), um eine Zeichenfolge an einer bestimmten Position einzufügen. StringBuilder ist eine Klasse zur Verarbeitung variabler Zeichenfolgen in Java. Sie bietet verschiedene Methoden zum Betreiben von Zeichenfolgen Angegebene Positionen Eine der gebräuchlichsten Methoden zum positionellen Einfügen von Zeichenfolgen. In diesem Artikel stellen wir vor, wie man mit der Funktion insert() einen String an einer bestimmten Position einfügt, und geben entsprechende Codebeispiele. einfügen()

Wie füge ich Tabellenzeilen in jQuery hinzu, bearbeite und lösche sie? Wie füge ich Tabellenzeilen in jQuery hinzu, bearbeite und lösche sie? Sep 05, 2023 pm 09:49 PM

Im heutigen Zeitalter der Webentwicklung ist eine effektive und effiziente Tabellenverwaltung sehr wichtig geworden, insbesondere beim Umgang mit datenintensiven Webanwendungen. Die Möglichkeit, Zeilen dynamisch einer Tabelle hinzuzufügen, zu bearbeiten und zu löschen, kann das Benutzererlebnis erheblich verbessern und Anwendungen interaktiver machen. Eine effektive Möglichkeit, dies zu erreichen, besteht darin, die Leistungsfähigkeit von jQuery zu nutzen. jQuery bietet viele Funktionen, die Entwicklern bei der Durchführung von Vorgängen helfen. Tabellenzeilen Eine Tabellenzeile ist eine Sammlung miteinander verbundener Daten, die durch Elemente in HTML dargestellt werden. Es wird verwendet, um Zellen (dargestellt durch Elemente) in einer Tabelle zu gruppieren. Jedes Element wird zum Definieren einer Zeile in der Tabelle verwendet und enthält bei Tabellen mit mehreren Attributen normalerweise ein oder mehrere Elemente. Syntax$(selector).append(co

Einfache und klare Methode zur Verwendung der PHP-Funktion array_merge_recursive() Einfache und klare Methode zur Verwendung der PHP-Funktion array_merge_recursive() Jun 27, 2023 pm 01:48 PM

Beim Programmieren in PHP müssen wir häufig Arrays zusammenführen. PHP stellt die Funktion array_merge() bereit, um die Array-Zusammenführung abzuschließen. Wenn jedoch derselbe Schlüssel im Array vorhanden ist, überschreibt diese Funktion den ursprünglichen Wert. Um dieses Problem zu lösen, stellt PHP in der Sprache auch eine Funktion array_merge_recursive() bereit, die Arrays zusammenführen und die Werte derselben Schlüssel beibehalten kann, wodurch das Programmdesign flexibler wird. array_merge

So verwenden Sie die Funktion array_combine in PHP, um zwei Arrays zu einem assoziativen Array zu kombinieren So verwenden Sie die Funktion array_combine in PHP, um zwei Arrays zu einem assoziativen Array zu kombinieren Jun 26, 2023 pm 01:41 PM

In PHP gibt es viele leistungsstarke Array-Funktionen, die Array-Operationen komfortabler und schneller machen können. Wenn wir zwei Arrays zu einem assoziativen Array kombinieren müssen, können wir diese Operation mit der Funktion array_combine von PHP ausführen. Diese Funktion wird tatsächlich verwendet, um die Schlüssel eines Arrays als Werte eines anderen Arrays zu einem neuen assoziativen Array zu kombinieren. Als nächstes erklären wir, wie man die Funktion array_combine in PHP verwendet, um zwei Arrays zu einem assoziativen Array zu kombinieren. Erfahren Sie mehr über array_comb

Detaillierte Erläuterung der Verwendung der PHP-Funktion array_fill() Detaillierte Erläuterung der Verwendung der PHP-Funktion array_fill() Jun 27, 2023 am 08:42 AM

In der PHP-Programmierung ist Array eine sehr wichtige Datenstruktur, die große Datenmengen problemlos verarbeiten kann. PHP bietet viele Array-bezogene Funktionen, array_fill() ist eine davon. In diesem Artikel wird die Verwendung der Funktion array_fill() ausführlich vorgestellt und einige Tipps für praktische Anwendungen gegeben. 1. Übersicht über die Funktion array_fill() Die Funktion der Funktion array_fill() besteht darin, ein Array mit demselben Wert und einer angegebenen Länge zu erstellen. Konkret lautet die Syntax dieser Funktion

insert-Anweisung insert-Anweisung Sep 15, 2023 pm 01:30 PM

Die grundlegende Syntax der Einfügeanweisung lautet „INSERT INTO Tabellenname (Spalte 1, Spalte 2, Spalte 3, ...), VALUES (Wert 1, Wert 2, Wert 3, ...);“, „Tabellenname“ einzufügender Name der Datentabelle. „Spalte 1“, „Spalte 2“, „Spalte 3“ usw. sind die Namen der Spalten in der Tabelle, in die Daten eingefügt werden sollen. Wert 2“, „Wert 3“ usw. sind die Namen der einzufügenden Spalten. Datenwert.

See all articles