首页 > 代码库 > 在线小词典(mysql扩展库操作)

在线小词典(mysql扩展库操作)

  • 输入英文查询中文

1、建表

create table words(
  id int primary key auto_increment,
  enWords varchar(32) not null,
  chWords varchar(256) not null
);

2、插入数据

insert into words (enWords,chWords) values (‘I‘,‘我‘);
insert into words (enWords,chWords) values (‘you‘,‘你‘);
insert into words (enWords,chWords) values (‘he‘,‘他‘);

表words如下:

技术分享

3、程序如下:

mainView.php  主界面

 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4   <title>在线英汉词典</title> 5 </head> 6 <body> 7   <h2>查询英文</h2> 8   <form action="wordProcess.php" method="post"> 9     请输入英文:<input type="text" name="enWord"/>10     <input type="submit" value="查询"/>11   </form>12 </body>13 </html>

wordProcess.php 处理页面

 1 <?php 2     //引入操作数据库文件 3     require_once "mysqlTool.class.php"; 4     //接收用户输入 5     if(!empty($_POST[‘enWord‘])){ 6         $enWord=$_POST[‘enWord‘]; 7     }else{ 8         echo "输入为空 <a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询"; 9         die();10     }11     //查询数据库12     $mysqlTool=new MysqlTool();13     $sql="select chWords from words where enWords=‘".$enWord."‘limit 0,1";14     $res=$mysqlTool->executeDql($sql);15     if($row=mysql_fetch_assoc($res)){16         echo $enWord."的中文意思是:".$row[‘chWords‘];17         echo "<br/><a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询";18     }else{19         echo "查不到这个词<br/>";20         echo "<a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询";21     }22     mysql_free_result($res);23     $mysqlTool->mysqlClo();24 ?>
mysql.class.php 数据库处理页面
 1 <?php 2     class MysqlTool{ 3         private $host="localhost"; 4         private $userName="root"; 5         private $pwd="root"; 6         private $dbName="test"; 7         private $conn; 8         //连接数据库函数,构造函数(与类同名),实例化后自动调用 9         public function MysqlTool(){10             $this->conn=mysql_connect($this->host,$this->userName,$this->pwd);11             if(!$this->conn){12                 die("连接数据库失败".mysql_error());13             }14             mysql_select_db($this->dbName,$this->conn);15             mysql_query("set names utf8",$this->conn);16         }17         //dql语句,完成select18         public function executeDql($sql){19             $res=mysql_query($sql,$this->conn) or die("操作失败".mysql_error());20             return $res;21         }22         //dml语句,完成insert,delete,update23         public function executeDml($sql){24             $res=mysql_query($sql,$this->conn);25             if(!$res){26                 return 0;//0表示操作失败27             }else{28                 if(mysql_affected_rows($this->conn)>0){29                     return 1;//1表示操作成功30                 }else{31                     return 2;//2表示没有行数影响32                 }33             }34         }35         //关闭数据库36         public function mysqlClo(){37             mysql_close($this->conn);38         }39     }40 ?>

结果如下:

情况1——输入单词存在于数据库中

技术分享

技术分享

情况2——没有输入

技术分享

情况3——输入单词数据库中没有

技术分享

  • 中英文互查

1、向表中插入新的数据如下:

insert into words (enWords,chWords) values (‘your‘,‘你们的‘);

中文->英文的时候,涉及到模糊查询,sql语句中用到like,用法如下:

$sql="select enWords from words where chWords like‘ %".$chWord."% ‘";

 这样,在输入的中文为“你们”的时候,也能查询到“your”。

2、程序如下:

mainView.php 主界面:加入隐藏表单来区分提交的是哪个表单

 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4   <title>在线英汉词典</title> 5 </head> 6 <body> 7   <h2>查询英文</h2> 8   <form action="wordProcess.php" method="post"> 9     <!--加入隐藏表单来区分提交的是哪个表单-->10     <input type="hidden" value="enSearch" name="type"/>11     请输入英文:<input type="text" name="enWord"/>12     <input type="submit" value="查询"/>13   </form>14   <h2>查询中文</h2>15   <form action="wordProcess.php" method="post">16     <!--加入隐藏表单来区分提交的是哪个表单-->17     <input type="hidden" value="chSearch" name="type"/>18     请输入中文:<input type="text" name="chWord"/>19     <input type="submit" value="查询"/>20   </form>21 </body>22 </html>

wordProcess.php  处理页面

 1 <?php 2     //引入操作数据库文件 3     require_once "mysqlTool.class.php"; 4     //看提交的哪个表单 5     if(!empty($_POST[‘type‘])){ 6         $type=$_POST[‘type‘]; 7     }else{ 8         echo "输入为空 <a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询"; 9         die();10     }11     //接收用户输入,查询英文意思12     if($type=="enSearch"){13         if(!empty($_POST[‘enWord‘])){14             $enWord=$_POST[‘enWord‘];15         }else{16             echo "输入为空 <a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询";17             die();18         }19         //查询数据库20         $mysqlTool=new MysqlTool();21         $sql="select chWords from words where enWords=‘".$enWord."‘";22         $res=$mysqlTool->executeDql($sql);23         if($row=mysql_fetch_assoc($res)){24             echo $enWord."的中文意思是:".$row[‘chWords‘];25             echo "<br/><a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询";26         }else{27             echo "查不到这个词<br/>";28             echo "<a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询";29         }30         mysql_free_result($res);31         $mysqlTool->mysqlClo();32     }33     //接收用户输入,查询中文对应英文34     else if($type=="chSearch"){35         if(!empty($_POST[‘chWord‘])){36             $chWord=$_POST[‘chWord‘];37         }else{38             echo "输入为空 <a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询";39             die();40         }41         //查询数据库42         $mysqlTool=new MysqlTool();43         //中文查询用模糊查询44         $sql="select enWords from words where chWords like‘%".$chWord."%‘";45         $res=$mysqlTool->executeDql($sql);46         if($row=mysql_fetch_assoc($res)){47             echo $chWord."对应的英文单词是:".$row[‘enWords‘];48             echo "<br/><a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询";49         }else{50             echo "查不到这个词<br/>";51             echo "<a href=http://www.mamicode.com/‘mainView.php‘>返回重新查询";52         }53         mysql_free_result($res);54         $mysqlTool->mysqlClo();55     }56 ?>

结果如下:

情况1:英文->中文

技术分享

技术分享

情况2:中文->英文(模糊查询)

技术分享

技术分享

技术分享

技术分享

 

在线小词典(mysql扩展库操作)