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); 		
        	}




  • 相关阅读:
    BZOJ2734 [HNOI2012]集合选数
    BZOJ2288:[POJ Challenge]生日礼物
    浅谈堆
    BZOJ1150:[CTSC2007]数据备份
    POJ2442:Sequence
    POJ1442:Black Box
    POJ3784:Running Median
    洛谷【P1090】合并果子&&洛谷【P1334】瑞瑞的木板
    BZOJ1345:[Baltic2007]序列问题
    浅谈栈
  • 原文地址:https://www.cnblogs.com/pangblog/p/3341802.html
Copyright © 2011-2022 走看看