Maison > Article > développement back-end > La solution ultime : utiliser PHP et Vue pour développer des fonctions innovantes de mind mapping
La méthode ultime : utiliser PHP et Vue pour développer des fonctions innovantes de cartographie cérébrale
Introduction :
Avec l'avènement de l'ère de l'explosion de l'information, les gens doivent organiser et traiter des quantités massives d'informations plus efficacement. En tant que méthode d'organisation visuelle de l'information, la cartographie mentale est largement utilisée dans des domaines tels que la cartographie mentale, la gestion de projet et l'organisation des connaissances. L'utilisation de PHP et Vue pour développer des fonctions innovantes de cartographie cérébrale améliorera encore l'efficacité de l'organisation et de la gestion de l'information. Cet article présentera comment utiliser PHP et Vue pour implémenter une fonction de cartographie cérébrale simple et puissante, et joindra des exemples de code correspondants.
Tout d'abord, nous devons créer une table de base de données pour stocker les informations sur les nœuds. Vous pouvez utiliser l'instruction SQL suivante pour créer une simple table de nœuds :
CREATE TABLE `nodes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `parent_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Ensuite, nous pouvons utiliser la bibliothèque d'extension PDO fournie par PHP pour nous connecter à la base de données et écrire la fonction d'interface correspondante que le front-end appellera. L'exemple de code est le suivant :
<?php $dbHost = 'localhost'; $dbName = 'your_database_name'; $dbUser = 'your_username'; $dbPass = 'your_password'; $pdo = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf8mb4", $dbUser, $dbPass); function getNodes($parentId = null) { global $pdo; $query = $pdo->prepare("SELECT * FROM nodes WHERE parent_id = ?"); $query->execute([$parentId]); return $query->fetchAll(PDO::FETCH_ASSOC); } function addNode($title, $parent_id) { global $pdo; $query = $pdo->prepare("INSERT INTO nodes (title, parent_id) VALUES (?, ?)"); $query->execute([$title, $parent_id]); return $pdo->lastInsertId(); }
Tout d'abord, nous devons présenter la bibliothèque CDN de Vue et créer une instance Vue. Ensuite, définissez un tableau de nœuds dans les données de l'instance Vue pour stocker les données de nœuds obtenues du serveur. En même temps, nous pouvons écrire des méthodes correspondantes pour gérer l’expansion et l’ajout de nœuds. L'exemple de code est le suivant :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Brainmap</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <ul> <li v-for="node in nodes" @click="toggleNode(node)"> {{ node.title }} <ul v-if="node.expanded"> <li v-for="child in getChildren(node.id)" @click.stop="toggleNode(child)"> {{ child.title }} </li> </ul> </li> </ul> <input type="text" v-model="newNodeTitle"> <button @click="addNode">Add</button> </div> <script> new Vue({ el: '#app', data: { nodes: [], newNodeTitle: '' }, mounted() { this.loadNodes(); }, methods: { loadNodes() { // 调用服务器端接口获取节点数据 axios.get('/api/getNodes.php') .then(response => { this.nodes = response.data; }) .catch(error => { console.error(error); }); }, getChildren(parentId) { return this.nodes.filter(node => node.parent_id === parentId); }, toggleNode(node) { node.expanded = !node.expanded; }, addNode() { const newNode = { title: this.newNodeTitle, parent_id: null, expanded: false }; // 调用服务器端接口添加节点 axios.post('/api/addNode.php', newNode) .then(response => { newNode.id = response.data; this.nodes.push(newNode); this.newNodeTitle = ''; }) .catch(error => { console.error(error); }); } } }); </script> </body> </html>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!