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




  • 相关阅读:
    1442. Count Triplets That Can Form Two Arrays of Equal XOR
    1441. Build an Array With Stack Operations
    312. Burst Balloons
    367. Valid Perfect Square
    307. Range Sum Query
    1232. Check If It Is a Straight Line
    993. Cousins in Binary Tree
    1436. Destination City
    476. Number Complement
    383. Ransom Note
  • 原文地址:https://www.cnblogs.com/pangblog/p/3341802.html
Copyright © 2011-2022 走看看