博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php+mysql实现英汉查询词典的功能
阅读量:6158 次
发布时间:2019-06-21

本文共 3374 字,大约阅读时间需要 11 分钟。

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

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用于查询输入

在线词典查询
图片加载失败

查询英文

请输入英文:

php+mysql实现英汉查询词典的功能

下边做提交处理数据:

首先我们获取输入的数据,然后在处理数据库的东西
1.引入SqlTool.class.php包
2.获取输入的数据
3.判断能不能获取的到,能则继续,不能则返回从新查询
4.准备sql语句
5.调用sql工具类里边的查询功能
6.处理结果集:如果可以查询到输出,不能则返回
7.释放资源

返回查询页面"; } //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 "返回查询页面"; } mysql_free_result($res);?>

输入boy,点击查询
php+mysql实现英汉查询词典的功能

我们完成了查询英文输出中文,下边完成查询中文输出对应的英文。

首先做一下准备工作
把查询中文的页面也加进去,另外隐藏表单里分开search1和search2

查询中文

请输入中文:

然后就是重头戏了:

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 "返回查询页面";        }        //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 "
".$val; } } }else{ echo "没有查到关于".$ch_word."的词条"; echo "
返回重新查询"; } mysql_free_result($res);

查询学校:

php+mysql实现英汉查询词典的功能

资料下载:链接地址: 密码:c1su

转载于:https://blog.51cto.com/13534640/2107236

你可能感兴趣的文章
MYSQL LEFT JOIN操作中 ON与WHERE放置条件的区别
查看>>
输入输出流——字节流部分
查看>>
hdu 3635 并查集
查看>>
mingW与cygwin
查看>>
Python大法之格式化输出
查看>>
HDU-4364 Matrix operation
查看>>
shell 重定向
查看>>
javascript与服务器2
查看>>
pclint集成之source insight配置
查看>>
web安全之渗透测试
查看>>
CF285E Positions in Permutations(dp+容斥)
查看>>
【Fiddler】使用fiddler抓取指定浏览器的包
查看>>
04-树5 Root of AVL Tree
查看>>
[麦先生]TP3.2之微信开发那点事[基础篇](获取access_token)
查看>>
Mysql学习总结(25)——MySQL外连接查询
查看>>
ActiveMQ学习总结(4)——业界消息队列简介
查看>>
MySQL-几种关联
查看>>
再谈从vc6迁移到vs2005
查看>>
struts中解除s:property独占一行
查看>>
MySQL安装
查看>>