如何实现树节点的增删改?
数据库为MySQL,数据表结构如下:
id type name parentid
1 0 service 0
101 82 data 0
102 82 card 101
103 82 search 101
104 82 web 102
105 83 task 103
parentid为0表示是顶级。用PHP该如何实现该数据表的配置页面呢?
回复讨论(解决方案)
你先想好展示的样式
你先想好展示的样式
样式不重要,能实现树节点的增删改就成。斑竹大人有推荐的插件咩?
你最好把样式显示出来,这样就知道节点怎么获取节点值,
思路是:点击节点,通过js把值传递到服务端,服务端操作数据库。
用ztree
数据量不大的话不建议用插件,以免造成项目结构混乱。核心是递归思想。
function dafenglei_arr($m,$id){ global $class_arr; global $classid; global $mysql; if($id=="") $id=0; $n = str_pad('',$m,'-',STR_PAD_RIGHT); $n = str_replace("-"," ",$n); for($i=0;$i<count($class_arr);$i++){ if($class_arr[$i][2]==$id){ echo "<tr>\n"; echo " <td>".$n."|----<a href=\"?action=edit&id=".$class_arr[$i][0]."\">".$class_arr[$i][1]."</a></td>\n"; echo " <td><div align=\"center\">".$class_arr[$i][3]."</div></td>\n"; echo " <td><div align=\"center\"><a href=\"?action=edit&id=".$class_arr[$i][0]."\">修改</a>"; echo " <a href=\"?action=del&id=".$class_arr[$i][0]."\">删除</a>"; echo "</div></td>\n"; echo " </tr>\n"; dafenglei_arr($m+1,$class_arr[$i][0]); } }}

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Bei der Computerprogrammierung ist es manchmal erforderlich, das Mindestgewicht eines Teilbaums zu ermitteln, der von einem bestimmten Knoten stammt, vorausgesetzt, der Teilbaum darf keine Knoten enthalten, die mehr als D Einheiten vom angegebenen Knoten entfernt sind. Dieses Problem tritt in verschiedenen Bereichen und Anwendungen auf, darunter in der Graphentheorie, baumbasierten Algorithmen und der Netzwerkoptimierung. Ein Teilbaum ist eine Teilmenge einer größeren Baumstruktur, wobei der angegebene Knoten als Wurzelknoten des Teilbaums dient. Ein Teilbaum enthält alle Nachkommen des Wurzelknotens und deren Verbindungskanten. Die Gewichtung eines Knotens bezieht sich auf einen bestimmten, diesem Knoten zugewiesenen Wert, der seine Wichtigkeit, Wichtigkeit oder andere relevante Metriken darstellen kann. Bei diesem Problem besteht das Ziel darin, das Mindestgewicht aller Knoten in einem Teilbaum zu ermitteln und gleichzeitig den Teilbaum auf Knoten zu beschränken, die höchstens D Einheiten vom Wurzelknoten entfernt sind. Im folgenden Artikel werden wir uns mit der Komplexität des Minings von Mindestgewichten aus Teilbäumen befassen

Wie implementiert man die Funktionen zum Kopieren und Ausschneiden von Knoten von Mind Maps über Vue und jsmind? Mindmap ist ein gängiges Denkwerkzeug, das uns helfen kann, unsere Gedanken zu ordnen und unsere Denklogik zu ordnen. Die Funktionen zum Kopieren und Ausschneiden von Knoten sind häufig verwendete Vorgänge in Mind Maps, mit denen wir vorhandene Knoten bequemer wiederverwenden und die Effizienz der Denkorganisation verbessern können. In diesem Artikel werden wir die beiden Tools Vue und jsmind verwenden, um die Funktionen zum Kopieren und Ausschneiden von Knoten der Mind Map zu implementieren. Zuerst müssen wir Vue und jsmind installieren und erstellen

Die Methoden zum Löschen von Knoten in js sind: 1. Die Methode „removeChild()“ wird verwendet, um den angegebenen untergeordneten Knoten vom übergeordneten Knoten zu entfernen. Der erste Parameter ist der zu löschende untergeordnete Knoten der übergeordnete Knoten. 2. Die Methode parentNode.removeChild() kann direkt über den übergeordneten Knoten aufgerufen werden. 3. Die Methode „remove()“ kann den Knoten direkt löschen Das innerHTML-Attribut wird zum Löschen des Knotens verwendet.

C++ verfügt über ein Makro, das als Codeabschnitt oder erwarteter Wert definiert ist und immer dann wiederverwendet wird, wenn der Benutzer es benötigt. Der Floyd-Walshall-Algorithmus ist der Prozess, den kürzesten Weg zwischen allen Scheitelpunktpaaren in einem gegebenen gewichteten Graphen zu finden. Der Algorithmus folgt einem dynamischen Programmieransatz, um den Minimalgewichtsgraphen zu finden. Lassen Sie uns die Bedeutung des Floyd-Walshall-Algorithmus anhand eines Diagramms verstehen: Nehmen Sie Scheitelpunkt 1 als Quelle und Scheitelpunkt 4 als Ziel und finden Sie den kürzesten Weg zwischen ihnen. Wir haben gesehen, dass es zwei Pfade gibt, die mit dem Zielscheitelpunkt 4 verbunden werden können. 1->4 – die Kante hat ein Gewicht von 51->8->3->4 – das Kantengewicht (1+2+1) ist 4. Im gegebenen Diagramm I sehen wir die kleinste Kante, die zwei Eckpunkte verbindet. Hier also der Scheitelpunkt

In diesem Artikel wird hauptsächlich das Erstellen, Löschen, Anhängen und Ersetzen von Elementknoten in js vorgestellt. Ich hoffe, dass er Freunden in Not hilfreich sein wird!

Um zu überprüfen, ob ein gegebener Pfad zwischen zwei Mittelpunkten eines Graphen dem kürzesten Weg entspricht, kann dies berechnet werden, indem das gesamte Kantengewicht entlang des gegebenen Pfades mit dem kürzesten Abstand zwischen Kombinationen derselben Mittelpunkte unter Verwendung eines zuverlässigen kürzesten Pfades verglichen wird, z Dijkstra-Berechnung oder Floyd-Warshall-Berechnung. Wenn alle Kantengewichte auf einem bestimmten Pfad mit der am stärksten eingeschränkten Löschung übereinstimmen, stellt dies den einfachsten Pfad dar. Außerdem: Wenn das Gesamtkantengewicht stärker ausgeprägt ist als der kürzeste Abstand, weist dies darauf hin, dass zwischen den beiden Mittelpunkten im Diagramm ein geringer Abstand besteht. Verwendete Methoden Dijkstras Algorithmus Floyd-Warshall-Algorithmus mit Kantenumkehrkosten Greedy-Algorithmus Die Dijkstra-Berechnung ist wahrscheinlich eine beliebte Graph-Traversal-Berechnung.

Bei n Knoten besteht die Aufgabe darin, den n-ten Knoten am Ende der verknüpften Liste zu drucken. Das Programm darf die Reihenfolge der Knoten in der Liste nicht ändern, sondern sollte nur den n-ten Knoten vom letzten Knoten der verknüpften Liste ausdrucken. Beispiel Input-:102030405060 N=3Output-:40 Im obigen Beispiel wird ausgehend vom ersten Knoten die Anzahl der n Knoten durchlaufen, d. h. 10,2030,40,50,60, sodass der drittletzte Knoten 40 ist . Anstatt die gesamte Liste so effizient zu durchlaufen, können Sie dem Ansatz folgen: Holen Sie sich einen temporären Zeiger auf beispielsweise temp des Knotentyps und setzen Sie diesen temporären Zeiger auf den ersten Knoten, auf den der Kopfzeiger zeigt, um den Zähler auf den Knoten in der Liste zu setzen

OpenAI ist ein Knotenpunkt (wenn auch ein wichtiger Knotenpunkt) in der Welt des Roboter-Roboter-Dialogs, aber nicht das Zentrum. ChatGPT hat einen Plugin-Mechanismus eingeführt, was eine sehr spannende Entwicklung darstellt. Alle waren sich einig, dass „ein Betriebssystem geboren wurde“. Diese Aussage ist völlig falsch. OpenAI ist ein Knotenpunkt (wenn auch ein wichtiger Knotenpunkt) in der Welt des Roboter-Roboter-Dialogs, aber nicht das Zentrum. Ich hatte immer ein Bild im Kopf: eine Welt, in der Roboter mit Robotern sprechen. Menschen chatten mit einem Roboter und lassen den Roboter über seine Roboterfreunde dem Menschen helfen, Aufgaben zu erledigen. Das ChatGPT-Plugin demonstriert die Welt perfekt
