PHP와 Vue를 사용하여 창고 관리를 위한 빠른 검색 기능을 개발하는 방법
PHP와 Vue를 사용하여 창고 관리를 위한 빠른 검색 기능을 개발하는 방법
현대 창고 관리 시스템에서는 빠른 검색 기능이 매우 중요합니다. 이를 통해 사용자는 필요한 창고 정보를 신속하게 찾고 업무 효율성을 높일 수 있습니다. 이 기사에서는 PHP와 Vue를 사용하여 창고 관리 시스템에서 빠른 검색 기능을 개발하는 방법을 소개하고 구체적인 코드 예제를 제공합니다.
- 개발 환경 준비
시작하기 전에 다음 소프트웨어가 설치되어 있는지 확인하세요.
- PHP 서버 환경(예: Apache 또는 Nginx)
- MySQL 데이터베이스
- Vue.js 개발 환경
- 데이터베이스 및 데이터 테이블 생성
먼저 창고 정보를 저장할 데이터 테이블을 생성해야 합니다. MySQL 데이터베이스에서 다음 SQL 문을 실행합니다.
CREATE DATABASE IF NOT EXISTS `repository_management`; USE `repository_management`; CREATE TABLE `repositories` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, `description` TEXT, `location` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `repositories` (`name`, `description`, `location`) VALUES ('仓库A', '这是仓库A的描述', '地点A'), ('仓库B', '这是仓库B的描述', '地点B'), ('仓库C', '这是仓库C的描述', '地点C');
위 코드는 repository_management
라는 데이터베이스를 생성하고 그 안에 repositories
라는 데이터 테이블을 생성하고 몇 가지 샘플을 삽입합니다. 데이터. repository_management
的数据库,并在其中创建了一个名为repositories
的数据表,并插入了一些示例数据。
- 后端开发
接下来,我们将使用PHP来开发后端API,用于提供仓库数据和搜索功能。创建一个名为api.php
的文件,将其放在服务器的Web根目录下。
<?php header('Content-Type: application/json'); // 连接数据库 $servername = 'localhost'; $username = '数据库用户名'; $password = '数据库密码'; $dbname = 'repository_management'; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die('连接失败: ' . $conn->connect_error); } // 获取仓库列表 if ($_SERVER['REQUEST_METHOD'] === 'GET') { $sql = 'SELECT * FROM `repositories`'; $result = $conn->query($sql); if ($result->num_rows > 0) { $repositories = array(); while ($row = $result->fetch_assoc()) { $repositories[] = $row; } echo json_encode($repositories); } else { echo '[]'; } } // 搜索仓库 if ($_SERVER['REQUEST_METHOD'] === 'POST') { $searchTerm = $_POST['term']; $sql = "SELECT * FROM `repositories` WHERE `name` LIKE '%$searchTerm%'"; $result = $conn->query($sql); if ($result->num_rows > 0) { $repositories = array(); while ($row = $result->fetch_assoc()) { $repositories[] = $row; } echo json_encode($repositories); } else { echo '[]'; } } $conn->close();
在上述代码中,我们首先建立与数据库的连接,然后定义两个接口:获取仓库列表和搜索仓库。获取仓库列表接口通过执行SQL语句SELECT * FROM
repositories从数据库中获取所有仓库数据,并将结果返回为JSON格式的数据。搜索仓库接口则是通过获取从前端传递过来的搜索关键字,执行SQL语句`SELECT * FROM `repositories` WHERE `name` LIKE '%$searchTerm%'
来进行模糊搜索,并将结果返回为JSON格式的数据。
请记得将代码中的数据库用户名
和数据库密码
替换为你自己的实际数据库用户名和密码。
- 前端开发
接下来,我们将使用Vue.js来开发前端页面,用于展示仓库信息和搜索功能。创建一个名为index.html
的文件,并将其放在服务器的Web根目录下。
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title>仓库管理系统</title> <script src="https://cdn.jsdelivr.net/npm/vue"></script> </head> <body> <div id="app"> <h1 id="仓库管理系统">仓库管理系统</h1> <input type="text" v-model="searchTerm" placeholder="输入关键字搜索仓库"> <ul> <li v-for="repository in repositories">{{ repository.name }}({{ repository.location }})</li> </ul> </div> <script> new Vue({ el: '#app', data: { repositories: [], searchTerm: '' }, mounted: function () { this.getRepositories(); }, methods: { getRepositories: function () { fetch('api.php') .then(function(response) { return response.json(); }) .then(function(repositories) { this.repositories = repositories; }.bind(this)) .catch(function(error) { console.log(error); }); }, searchRepositories: function () { fetch('api.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: 'term=' + this.searchTerm }) .then(function(response) { return response.json(); }) .then(function(repositories) { this.repositories = repositories; }.bind(this)) .catch(function(error) { console.log(error); }); } }, watch: { searchTerm: function () { this.searchRepositories(); } } }); </script> </body> </html>
在上述代码中,我们创建了一个Vue实例,并在data
属性中定义了两个变量:repositories
(用于存储仓库数据)和searchTerm
(用于存储搜索关键字)。在mounted
生命周期钩子中,我们调用getRepositories
方法来从后端获取仓库数据,并将其赋值给repositories
变量。getRepositories
方法使用了fetch
函数来发送GET请求。
在模板中,我们使用了v-for
指令来遍历repositories
变量,并将每个仓库的名称和位置显示在页面上。输入框中使用了v-model
指令将输入的内容和searchTerm
变量进行了双向绑定。在输入框内容发生变化时,watch
属性中的searchTerm
监听到变化后,自动调用searchRepositories
方法来发送POST请求搜索仓库数据。
- 运行和测试
将上述代码保存后,启动你的Web服务器,并在浏览器中打开index.html
- 백엔드 개발🎜다음으로는 PHP를 이용해 웨어하우스 데이터와 검색 기능을 제공하는 백엔드 API를 개발해보겠습니다.
api.php
라는 파일을 생성하여 서버의 웹 루트 디렉터리에 넣습니다. 🎜rrreee🎜위 코드에서는 먼저 데이터베이스와의 연결을 설정한 다음 창고 목록 가져오기와 창고 검색이라는 두 가지 인터페이스를 정의합니다. Get Warehouse List 인터페이스는 SQL 문 SELECT * FROM
repositories를 실행하여 데이터베이스에서 모든 웨어하우스 데이터를 얻고 결과를 JSON 형식의 데이터로 반환합니다. 검색 웨어하우스 인터페이스는 프런트 엔드에서 전달된 검색 키워드를 얻고, SQL 문 `SELECT * FROM `repositories` WHERE `name` LIKE '%$searchTerm%'
을 실행하고 결과를 반환함으로써 퍼지 검색을 수행합니다. 데이터는 JSON 형식입니다. 🎜🎜코드의 데이터베이스 사용자 이름
및 데이터베이스 비밀번호
를 실제 데이터베이스 사용자 이름과 비밀번호로 바꾸는 것을 잊지 마세요. 🎜- 🎜프런트엔드 개발🎜🎜🎜다음으로는 Vue.js를 사용해 창고 정보와 검색 기능을 표시하는 프런트엔드 페이지를 개발해보겠습니다.
index.html
이라는 파일을 만들어 서버의 웹 루트 디렉터리에 넣습니다. 🎜rrreee🎜위 코드에서는 Vue 인스턴스를 생성하고 data
속성에 두 개의 변수인 repositories
(웨어하우스 데이터를 저장하는 데 사용됨)와 searchTerm (검색 키워드를 저장하는 데 사용됨) 마운트된
수명 주기 후크에서 getRepositories
메서드를 호출하여 백엔드에서 웨어하우스 데이터를 가져와 repositories
변수에 할당합니다. getRepositories
메서드는 fetch
함수를 사용하여 GET 요청을 보냅니다. 🎜🎜템플릿에서는 v-for
지시어를 사용하여 repositories
변수를 반복하고 페이지에 각 저장소의 이름과 위치를 표시합니다. v-model
지시문은 입력 내용을 searchTerm
변수에 양방향으로 바인딩하기 위해 입력 상자에서 사용됩니다. 입력 상자의 내용이 변경되면 watch
속성의 searchTerm
이 변경 사항을 감지하고 자동으로 searchRepositories
메서드를 호출하여 POST 요청을 보냅니다. 창고 데이터를 검색합니다. 🎜- 🎜실행 및 테스트🎜🎜🎜위 코드를 저장한 후 웹 서버를 시작하고 브라우저에서
index.html
파일의 주소를 엽니다. 입력 상자와 저장소 목록이 있는 페이지가 표시됩니다. 입력창에 키워드를 입력하면 해당 키워드와 관련된 창고 정보가 실시간으로 페이지에 표시됩니다. 🎜🎜위는 창고 관리의 빠른 검색 기능을 개발하기 위해 PHP와 Vue를 사용하는 전체 과정입니다. 백엔드 API와 프런트엔드 페이지 간의 협력을 실현함으로써 창고를 신속하게 검색하고 위치 및 설명 정보를 명확히 할 수 있습니다. 이러한 기능은 매우 실용적이고 구현하기 쉬우며 창고 관리 효율성을 크게 향상시킬 수 있습니다. 🎜위 내용은 PHP와 Vue를 사용하여 창고 관리를 위한 빠른 검색 기능을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











HTML 템플릿의 버튼을 메소드에 바인딩하여 VUE 버튼에 함수를 추가 할 수 있습니다. 메소드를 정의하고 VUE 인스턴스에서 기능 로직을 작성하십시오.

PHP에서 최종 키워드는 클래스가 상속되고 메소드가 덮어 쓰는 것을 방지하는 데 사용됩니다. 1) 클래스를 최종적으로 표시 할 때는 수업을 상속받을 수 없습니다. 2) 메소드를 최종으로 표시 할 때는 메소드를 서브 클래스로 다시 작성할 수 없습니다. 최종 키워드를 사용하면 코드의 안정성과 보안이 보장됩니다.

Pagination은 큰 데이터 세트를 작은 페이지로 나누어 성능 및 사용자 경험을 향상시키는 기술입니다. VUE에서 다음 내장 방법을 페이징에 사용할 수 있습니다. 총 페이지 수를 계산하십시오 : TotalPages () Traversal 페이지 번호 : V-For Directive 현재 페이지를 설정하려면 : CurrentPage 현재 페이지 데이터 가져 오기 : currentPagedAta ()

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

VUE 멀티 페이지 개발은 vue.js 프레임 워크를 사용하여 응용 프로그램을 구축하는 방법입니다. 여기서 응용 프로그램은 별도의 페이지로 나뉩니다. 코드 유지 보수 : 응용 프로그램을 여러 페이지로 분할하면 코드를보다 쉽게 관리하고 유지 관리 할 수 있습니다. 모듈 식 : 각 페이지는 쉬운 재사용 및 교체를 위해 별도의 모듈로 사용할 수 있습니다. 간단한 라우팅 : 페이지 간의 탐색은 간단한 라우팅 구성을 통해 관리 할 수 있습니다. SEO 최적화 : 각 페이지에는 자체 URL이있어 SEO가 도움이됩니다.

VUE의 기능 차단은 지정된 기간 내에 기능이 호출되는 횟수를 제한하고 성능 문제를 방지하는 데 사용되는 기술입니다. 구현 방법은 다음과 같습니다. lodash 라이브러리 가져 오기 : 'lodash'에서 import {debounce}; Debounce 기능을 사용하여 인터셉트 기능을 만듭니다. const debouncedfunction = debounce (() = & gt; { / logical /}, 500); 인터셉트 함수를 호출하면 제어 기능이 최대 500 밀리 초 안에 한 번 호출됩니다.

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

vue.js의 Foreach 루프는 V-For 지시문을 사용하여 개발자가 각 요소를 배열 또는 객체에서 반복하고 각 요소에서 특정 작업을 수행 할 수 있습니다. 구문은 다음과 같습니다. & lt; template & gt; & lt; ul & gt; & lt; li v-for = & quot; 항목의 항목 & gt; {{item}} & lt;/li & gt; & lt;/ul & gt; & lt;/template & gt; & am
