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 />
		查询英文
		<form action="wordProcess.php" method="post">
			请输入英文:<input type="text" name="en_word"  />
			<input type="hidden" value="search1" 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 rel="nofollow" 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 rel="nofollow" href='words.php'>返回查询页面</a>";
        }
				mysql_free_result($res);
?>

输入boy,点击查询

我们完成了查询英文输出中文,下边完成查询中文输出对应的英文。 首先做一下准备工作 把查询中文的页面也加进去,另外隐藏表单里分开search1和search2

查询中文
		<form action="wordProcess.php" method="post">
			请输入中文:<input type="text" name="ch_word"  />
			<input type="hidden" value="search2" 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 rel="nofollow" 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 rel="nofollow" href='words.php'>返回重新查询</a>";
        }
        mysql_free_result($res);

查询学校:

资料下载:链接地址:https://pan.baidu.com/s/1QX4DiaQaFv3QhBf2kCpFrQ 密码:c1su