zoukankan      html  css  js  c++  java
  • 由mysql数据库基础上的php程序实现单词的查询、删除、更改和查询

    我做了一个php程序,将表单数据添加到数据库,借用mysql扩展库函数实现对mysql数据库的操作,能够实现添加单词、删除单词、更新和查询单词。运行环境是普通的mysql数据库和php、Apache服务器。这个程序非常简单,属于那种一看就懂的程序,不过还是要提醒一句,像那个数据库和数据表肯定事先要存在!本文用的数据库是test,数据表示test数据库下的表名为danci的数据表,一共有三个属性:id danci dt 分别是int、char、timestamp类型。直接贴代码:

    用户看到的界面:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>www.codeke.com</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="keywords" content="php video,javascript" />
    <meta http-equiv="description" content="php php php hp php" />
    <style type="text/css">
    <!--
    span { margin:1px 5px;}
    -->
    </style>
    </head>
    <form action="pwd.php" method="post">
    <table cellpadding="0" cellspacing="0" border="1px" cols="5" width="300">
    <tr><td align="center" colspan="2">列表</td><td colspan="2" align="center">名称</td></tr>
    <tr><td align="center"  valign="bottom" height="20px" rowspan="2" colspan="3">输入单词</td>
    <td colspan="2" rowspan="2" valign="middle" height="20px" align="right">
    <input size="26" type="text" name="danci" /></td></tr>
    <tr></tr>
    <tr id="thanks" style="display:none"><td colspan="5"><span>输入旧单词</span><span><input size="26" type="text" name="jiudanci" value="" /></span></td></tr>
    <tr></tr>
    <tr><td align="center" valign="bottom" height="20px" colspan="3" >选择操作类型</td>
    	<td valign="middle" height="20px" align="right">
    		<select  name="select" id="opt" onchange="javascript:change();">
    			<option value="1" selected="selected">添加</option>
    			<option value="2">删除</option>
    			<option value="3">更改</option>
    			<option value="4">查询</option>
    		</select>
    	</td>
    </tr>
    <script type="text/javascript">
    	window.onload=change;
    	function change(){
    		var temp = document.getElementById("opt").value;
    		if(temp==3){
    			document.getElementById("thanks").style.display="table-row";
    		}else{
    			document.getElementById("thanks").style.display="none";
    		}
    	}
    </script>
    <tr><td colspan="2"><input type="reset" /></td><td align="center" colspan="2"><input type="submit" value="submit" /></td></tr>
    </table> 
    </form>


    处理表单数据的php文件:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>www.codeke.com</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!--meta http-equiv="refresh" content="3;url=access.htm" /-->
    </head> 
    <?php 
      require_once 'def.class.php'; //这个文件用于数据库操作
      $danci=$_POST['danci'];
      $jiudanci=$_POST['jiudanci'];
      $choice=$_POST['select'];
     
      $danci=strtoupper($danci);  //将单词统一转化成大写的
      $jiudanci=strtoupper($jiudanci);
      $sqlQue=new SqlDiy("like","admin");
      $sqlQue->setDanci($danci);
      $sqlQue->setJiudanci($jiudanci);
      switch($choice){
    	case 1:$sqlQue->setOper("insert");break; 
    	case 2:$sqlQue->setOper("delete");break;
    	case 3:$sqlQue->setOper("update");break;
    	case 4:$sqlQue->setOper("select");break;
      }
      if($danci==$jiudanci&&$choice==3){
      	echo "新单词和旧单词一样,无需更新";
      	
      }
      if($danci==""||($jiudanci==""&&$choice==3)){
    	echo "输入为空";
    	return ;
      }
      
      $sqlQue->connSql();
      
    ?>
    


    封装了连接数据库的类php文件:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>www.codeke.com</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head> 
    <?php
    
        //header("content-type:text/html;charset=utf-8");
         class SqlDiy{
        	private $time;
        	private $pwd;
        	private $danci;
        	private $user;
        	private $jiudanci;
        	private $oper;
        	function __construct($user,$pwd){
        		$this->user=$user;
        		$this->pwd=$pwd;
        		$this->timeWorkErr();
        	}
        	function timeWorkErr(){
    	    	$this->time=time();
    	    	date_default_timezone_set('PRC');
        	}
        	function connSql(){
    	    	
        		$conn=mysql_connect("localhost",$this->user,$this->pwd);
    	    	if(!$conn){
    	    		echo mysql_error().error_log(mysql_error.date("m月d日 H:i:s",$this->time)."
    ",3,"c:/error.txt");
    	    	}
    	    	mysql_select_db("test",$conn) or error_log(mysql_error.date("m月d日 H:i:s",$this->time)."
    ",3,"c:/error.txt");
    	    	mysql_query("set names utf8");
    	    	switch($this->oper){
    	    		case "select":$query="select * from `danci` where danci='$this->danci' limit=0,1";break; //一般不要用*,需要哪个字段就选择哪个字段
    	    		case "delete":$query="delete from `danci` where danci='$this->danci'";break;
    	    		case "insert":$query="insert into `danci`(danci)values('$this->danci')";break;
    	    		case "update":$query="update `danci` set `danci`='$this->danci' where `danci`='$this->jiudanci'";break;
    	    	}
    	    	//$query="update user set name='lily' where name='lily'";
    	    	mysql_query("select * from `danci` where danci='$this->danci'",$conn);	        
    	    	if(mysql_affected_rows($conn)>0&&$this->oper=="insert"){
    	    		echo "<br />单词库中已经有该单词,无需添加"; 
    	    		return ;		
    	    	}  	
    	    	if(mysql_affected_rows($conn)<1&&$this->oper=="select"){
    	    		echo "<br />单词库里没有该单词"; //针对查询操作
    	    		return ;
    	    	}
    	    	if(mysql_affected_rows($conn)<1&&$this->oper=="delete"){
    	    		echo "<br />无法删除一个没有的单词"; //针对删除操作
    	    		return ;
    	    	}
    	    	$res=mysql_query($query,$conn);
    	    	if(mysql_affected_rows($conn)<1){
    	    		echo "<br />连接数据库有误$this->jiudanci--$this->danci";
    	    		error_log(mysql_error().date("m月d日 H:i:s",$this->time)."
    ",3,"c:/error.txt");
    	    	}
    	    	else {
    	    		if($this->oper=="select"){  		
    		    		while($rows=mysql_fetch_object($res)){ 
    		    			echo "<br />".$rows->id."--".$rows->danci."--".$rows->dt;
    		    		}
    		    		 mysql_free_result($res);
    	    		}
    	    		if($this->oper=="insert"){
    	    			echo "<br />插入单词成功";
    	    		}
    	    		if($this->oper=="delete"){
    	    			echo "<br />删除单词成功";
    	    		}
    	    		if($this->oper=="update"){
    	    			echo "<br />更新单词成功";
    	    		}
    	    	}	    	
    	    	mysql_close($conn);
        	}
        	function setJiudanci($i){
        		$this->jiudanci=$i;
        	}
        	function setOper($i){
        		$this->oper=$i;
        	}
        	function setDanci($i){
        		$this->danci=$i;
        	}
        	    	
        }
        
    ?>

    建立数据库的函数:

    function createDataBase(){ //建立一个数据表
        		$link=mysql_connect('localhost',"root",$password);//必须用root账号和密码登录
        		if(!$link){
        			die('Could not connect: ' . mysql_error());
        		}  		
        		$sql = 'CREATE DATABASE my_db';
        		if(mysql_query($sql, $link)) {
        			echo "Database my_db created successfully
    ";
        		} else {
        			echo 'Error creating database: '.mysql_error()."
    ";
        		}
        		
        		mysql_close($link); 		
        	}

    删除数据库的函数:

    function deleteDataBase(){ //删除一个数据表
        		$link=mysql_connect('localhost',"root",$password);//必须用root账号和密码登录
        		if(!$link){
        			die('Could not connect:'.mysql_error());
        		}  		
        		$sql = 'DROP DATABASE discuz';
        		if(mysql_query($sql, $link)) {
        			echo "Database discuz droped successfully
    ";
        		} else {
        			echo 'Error droping database: '.mysql_error() . "
    ";
        		}
        		
        		
        		mysql_close($link); 		
        	}




  • 相关阅读:
    [Luogu P3626] [APIO2009] 会议中心
    杭电 1869 六度分离 (求每两个节点间的距离)
    杭电 1874 畅通工程续 (求某节点到某节点的最短路径)
    最短路径模板
    杭电 2544 最短路径
    POJ 1287 Networking (最小生成树模板题)
    NYOJ 1875 畅通工程再续 (无节点间距离求最小生成树)
    POJ 2485 Highways (求最小生成树中最大的边)
    杭电 1233 还是畅通工程 (最小生成树)
    杭电 1863 畅通工程 (最小生成树)
  • 原文地址:https://www.cnblogs.com/pangblog/p/3341802.html
Copyright © 2011-2022 走看看