您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么用php+mysql實現英漢查詢詞典的功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用php+mysql實現英漢查詢詞典的功能”吧!
1.建立數據庫
create database worddb;
2.創建表
create table words( id int auto_increment primary key, en_word varchar(128) not null, ch_word varchar(256) not null );
3.插入數據(只是舉個例子,不必太計較單詞是不是這個意思,英語很渣,又懶得查)
insert into words(en_word,ch_word) values('boy' , '男孩,男人'); insert into words(en_word,ch_word) values('school' , '學校'); insert into words(en_word,ch_word) values('university' , '學校,大學');
4.封裝一下sql工具庫 SqlTool.class.php
<?php class SqlTool{ private $conn; private $host = "localhost"; private $user = "root"; private $password = "root"; private $db = "worddb"; /* 連接數據庫的構造方法 */ function SqlTool(){ $this->conn = mysql_connect($this->host , $this->user , $this->password); if(!$this->conn){ die('連接失敗'.mysql_error()); } mysql_select_db($this->db,$this->conn); mysql_query('set names gbk'); } //select function execute_dql($sql){ $res = mysql_query($sql,$this->conn); return $res; } //insert、update、delete function execute_dml($sql){ $obj = mysql_query($sql,$this->conn); echo "添加的id=".mysql_insert_id($this->conn)."成功"; if(!$obj){ //return 0;//操作失敗 die('操作失敗'.mysql_error()); }else{ if(mysql_affected_rows($this->conn)>0){ //return 1;//操作成功 echo "操作成功"; }else{ //return 2;//行數沒有收到影響 die('行數沒有受影響'); } } } } ?>
到此準備工作完成了,后邊的才是重頭戲
先搞定查詢英文,輸出中文。
準備第一個頁面 words.php用于查詢輸入
<DOCTYPE html> <html> <head><title>在線詞典查詢</title> <meta charset = "gbk"/> </head> <body> <img alt="圖片加載失敗" src="image/7c03087cb9fdc7c2d8a4d8bdc5521ba4.png"><br /> <h2>查詢英文</h2> <form action="wordProcess.php" method="post"> 請輸入英文:<input type="text" name="en_word" /> <input type="hidden" value="search2" name="type" /> <input type="submit" value="查詢" /> </form> </body> </html>
下邊做提交處理數據:
首先我們獲取輸入的數據,然后在處理數據庫的東西
1.引入SqlTool.class.php包
2.獲取輸入的數據
3.判斷能不能獲取的到,能則繼續,不能則返回從新查詢
4.準備sql語句
5.調用sql工具類里邊的查詢功能
6.處理結果集:如果可以查詢到輸出,不能則返回
7.釋放資源
<?php require_once 'SqlTools.class.php'; //接收英文單詞 if(isset($_POST['en_word'])){ $en_word = $_POST['en_word']; }else{ echo "查無結果"; echo "<a href='words.php'>返回查詢頁面</a>"; } //sql語句 $sql = "select * from words where en_word = '".$en_word."' limit 0,1"; $sqlTool = new SqlTool(); $res = $sqlTool->execute_dql($sql); if($row=mysql_fetch_assoc($res)){ echo $en_word."的中文意思是:".$row['ch_word']; }else{ echo "沒有查到該詞條"; echo "<a href='words.php'>返回查詢頁面</a>"; } mysql_free_result($res); ?>
我們完成了查詢英文輸出中文,下邊完成查詢中文輸出對應的英文。
首先做一下準備工作
把查詢中文的頁面也加進去,另外隱藏表單里分開search2和search3
<h2>查詢中文</h2> <form action="wordProcess.php" method="post"> 請輸入中文:<input type="text" name="ch_word" /> <input type="hidden" value="search3" name="type" /> <input type="submit" value="查詢" /> </form>
然后就是重頭戲了:
1.接收提交傳過來的type值
2.判斷一下type值的search是 1 還是 2
3.如果是 1 ,我們就是搞英文,如果是 2 我們就搞中文
4.英文不說了 ,直接剪切進去即可
5.中文部分:
6.接收中文值并判斷,和英文部分一樣
7.準備sql語句,并調用查詢方法(和英文一樣,不一樣的是sql語句)
8.判斷輸入的中文數據庫里有沒有,有則循環輸出,沒有則返回
9.釋放資源
sql語句查詢中文比較麻煩,因為一個英文單詞可能對應的有好幾個中文意思,如果按照英文的查找方法,估計我們查不到,所以我們使用模糊查詢-->like的方法
//接收中文單詞 if(isset($_POST['ch_word'])){ $ch_word = $_POST['ch_word']; }else{ echo "查無結果"; echo "<a href='words.php'>返回查詢頁面</a>"; } //sql語句 $sql = "select en_word from words where ch_word like '%".$ch_word."%'"; $sqlTool = new SqlTool(); $res = $sqlTool->execute_dql($sql); if(mysql_num_rows($res)){ echo trim($ch_word)."對應的英文有:"; while($row=mysql_fetch_assoc($res)){ foreach ($row as $val){ echo "<br>".$val; } } }else{ echo "沒有查到關于".$ch_word."的詞條"; echo "<br><a href='words.php'>返回重新查詢</a>"; } mysql_free_result($res);
查詢學校:
到此,相信大家對“怎么用php+mysql實現英漢查詢詞典的功能”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。