商品信息管理

转载请注明出处:http://blog.csdn.net/u011569040/article/details/47175895



创建项目的目录具体文件
-------------------
add.php 商品信息添加页面
edit.php 商品信息编辑表单页
index.php 商品信息浏览页
action.php 执行商品信息增添改查等操作
dbconfig.php 公共配置文件
menu.php 导航栏
uploads/ 上传图片的存放目录
fuctions.php 公共函数库文件:图片信息的上传、等比缩放等处理函数


action.php

<?php
//执行商品信息的增添改的操作

//一.导入配置文件和函数库
	require("dbconfig.php");
	require("functions.php");
	
//二.连接MySQL,选择数据库
	$link = mysql_connect(HOST,USER,PASS) or die ("数据库连接失败!");
	mysql_select_db(DBNAME,$link);
	
//三.获取action的参数值,并做对应操作
	switch($_GET["action"]){
		case "add"://添加
			//1.获取添加信息
			$name = $_POST["name"];
			$typeid = $_POST["typeid"];
			$price = $_POST["price"];
			$total = $_POST["total"];
			$note = $_POST["note"];
			$addtime = time();
			//2.验证()省略
			if(empty($name)){
				die("商品名称必须有值");
			}
			
			//3.执行图片上传
			$upinfo = uploadFile("pic","./uploads/");
			if($upinfo["error"]===false){
				die("图片信息上传失败:".$upinfo["info"]);	
			}else{
				//上传成功
				$pic = $upinfo["info"];//获取上传成功的图片名	
			}
			
			//4.执行图片缩放
			imageUpdateSize('./uploads/'.$pic,50,50);

			//5.拼装sql语句,并执行添加
			$sql = "insert into goods 													values(null,'{$name}','{$typeid}','{$price}','{$total}','{$pic}','{$note}','{$addtime}')";
			//echo $sql;
			mysql_query($sql,$link);
			
			//6.判断并输出结果
			if(mysql_insert_id($link)>0){
				echo "商品发布成功!";
			}else{
				echo "商品发布失败!".mysql_error();
			}
			echo "<br/> <a href='index.php'>查看商品信息</a>";
			break;

		case "del"://删除
			//获取要删除的id号,并拼装删除sql,执行
			$sql = "delete from goods where id={$_GET['id']}";
			mysql_query($sql,$link);
			//执行图片删除
			if(mysql_affected_rows($link)>0){
				@unlink("./uploads/".$_GET['picname']);
				@unlink("./uploads/s_".$_GET['picname']);
			}
			//跳转到浏览界面
			header("Location:index.php");
			break;

		case "update"://修改
			//1.获取要修改的信息
			$name = $_POST["name"];
			$typeid = $_POST["typeid"];
			$price = $_POST["price"];
			$total = $_POST["total"];
			$note = $_POST["note"];
			$id = $_POST['id']; 
			$pic = 	$_POST['oldpic'];
			//2.数据验证
			if(empty($name)){
				die("商品名称必须有值!");	
			}
			//3.判断有误图片上传
			if($_FILES['pic']['error']!=4){
				//执行上传
				//3.执行图片上传
				$upinfo = uploadFile("pic","./uploads/");
				if($upinfo["error"]===false){
					die("图片信息上传失败:".$upinfo["info"]);	
				}else{
					//上传成功
					$pic = $upinfo["info"];//获取上传成功的图片名	
					//4.有图片上传,执行缩放
					imageUpdateSize('./uploads/'.$pic,50,50);
				}
				
			}
		
			//5.执行修改
			$sql = "update goods set name='{$name}',typeid={$typeid},price={$price},total={$total},note='{$note}',pic='{$pic}' where id={$id}";
			//echo $sql;
			mysql_query($sql,$link);
			
			//6.判断是否修改成功
			if(mysql_affected_rows($link)>0){
				//	若有图片上传就删除老图片
				if($_FILES['pic']['error']!=4){
					@unlink("./uploads/".$_POST['oldpic']);
					@unlink("./uploads/s_".$_POST['oldpic']);	
				}	
				echo "修改成功";
				
			}else{
				echo "修改失败".mysql_error();
			}
			echo "<br/> <a 	href='index.php'>查看商品信息 </a>";
			
			
			break;
	}
//四.关闭数据库

add.php

<html>
<head>
<title>商品信息管理</title>
</head>
<body>
<center>
  <?php include("menu.php");//导入导航栏 ?>
  <h3>发布商品信息</h3>
  <form action="action.php?action=add" method="post" enctype="multipart/form-data">
  <table border="0" width="300">
    <tr>
      <td align="right">名称:</td>
      <td><input type="text" name="name"/></td>
    </tr>
    <tr>
      <td align="right">类型:</td>
      <td>
      	<select name="typeid">
        	<?php 
				include("dbconfig.php");
				foreach($typelist as $k=>$v){
					echo "<option value='{$k}'>{$v}</option>";	
				}
			?>
        </select>
      </td>
    </tr>
    <tr>
      <td align="right">单价:</td>
      <td><input type="text" name="price"/></td>
    </tr>
    <tr>
      <td align="right">库存:</td>
      <td><input type="text" name="total"/></td>
    </tr>
    <tr>
      <td align="right">图片:</td>
      <td><input type="file" name="pic"/></td>
    </tr>
    <tr>
      <td align="right" valign="top">描述:</td>
      <td><textarea rows="5" cols="20" name="note"></textarea><td>
    </tr>
    <tr>
      <td colspan="2" align="center">
      	<input type="submit" value="添加" />   
        <input type="reset" value="重置"/>
      </td>
      
    </tr>
  </table>
  <form>
</center>
</body>
</html><br />

dbconfig.php

<?php
//公共信息配置文件

//数据库信息配置
define("HOST","localhost");//主机名
define("USER","root");
define("PASS","");
define("DBNAME","demodb");

//商品类型列表信息
$typelist=array(1=>"服装",2=>"数码",3=>"食品");

edit.php

<html>
<head>
<title>编辑信息管理</title>
</head>
<body>
<center>
  <?php include("menu.php");//导入导航栏 
  
  //1.导入配置文件
			require("dbconfig.php");
		//2.连接数据库,并选择数据库
			$link = @mysql_connect(HOST,USER,PASS)or die("数据库连接失败!");
			mysql_select_db(DBNAME,$link);
			
		//3.获取要修改的商品信息查询
			$sql = "select * from goods where id={$_GET['id']}";
			$result= mysql_query($sql,$link);
			
		//4.判断是否获取到要编辑的商品信息
			if($result && mysql_num_rows($result)>0){
				$shop = mysql_fetch_assoc($result);//解析出要修改的商品信息
			}else{
				die("没有找到要修改的商品信息!");
			}
			
  ?>
  <h3>编辑商品信息</h3>
  <form action="action.php?action=update" method="post" enctype="multipart/form-data">
  <input type="hidden" name="id" value="<?php echo $shop['id'];?>"/>
  <input type="hidden" name="oldpic" value="<?php echo $shop['pic'];?>"/>
  
  <table border="0" width="300">
    <tr>
      <td align="right">名称:</td>
      <td><input type="text" name="name" value="<?php echo $shop['name'];?>"/></td>
    </tr>
    <tr>
      <td align="right">类型:</td>
      <td>
      	<select name="typeid">
        	<?php 
				include("dbconfig.php");
				foreach($typelist as $k=>$v){
					$sd =($shop['typeid']==$k)?"selected":"";//是否是当前类型
					echo "<option value='{$k}' {$sd}>{$v}</option>";	
				}
			?>
        </select>
      </td>
    </tr>
    <tr>
      <td align="right">单价:</td>
      <td><input type="text" name="price" value="<?php echo $shop['price'];?>"/></td>
    </tr>
    <tr>
      <td align="right">库存:</td>
      <td><input type="text" name="total" value="<?php echo $shop['total'];?>"/></td>
    </tr>
    <tr>
      <td align="right">图片:</td>
      <td><input type="file" name="pic" /></td>
    </tr>
    <tr>
      <td align="right" valign="top">描述:</td>
      <td><textarea rows="5" cols="20" name="note"><?php echo $shop['note'];?></textarea></td>
    </tr>
    <tr>
      <td colspan="2" align="center">
      	<input type="submit" value="修改" />   
        <input type="reset" value="重置"/>
      </td>
      
    </tr>
    <tr>
      <td align="right" valign="top"> :</td>
      <td><img src="./uploads/<?php echo $shop['pic']?>"/></td>
    </tr>
  </table>
  <form>
</center>
</body>
</html><br />

functions.php

<?php
//公共函数库

/**
  *文件上传处理函数
  *String filename 要上传的文件表单项名
  *Sring $path 上传文件的保存路径
  *@param array 允许的文件类型
  *@return array 二个单元:["error"] false:失败,true:成功
  						  ["info"] 保存失败的原因或成功的文件名
*/
	function uploadFile($filename,$path,$typelist=null){
		//1. 获取获取上传文件名
	 $upfile = $_FILES["$filename"];
	 if(empty($typelist)){
		 $typelist = array("image/jpeg","image/jpg","image/png","image/gif","video/mp4");  
	 }
	 $res=array("error"=>false);//存放返回的结果
	 
 //获取错误信息
  if($upfile["error"]>0){
	
	switch($upfile['error']){
		case 1:
			$info="上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。"; 
			break;
		case 2:
			$info="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。"; 
			break;
		case 3:
			$info="文件只有部分被上传。"; 
			break;
		case 4:
			$info="没有文件被上传。 ";
		case 6:
			$info="找不到临时文件夹。"; 
			break;
		case 7:
			$info="文件写入失败"; 
			break;
	}

	die("上传文件错误,原因:".$info);
  }
  
//3. 本次上传文件到小的过滤(自己选择)
	if($upfile["size"]>10000000){
		$res["info"]="上传文件过大!";
		return $res;
	}
	
//4. 类型过滤
	if(!in_array($upfile["type"],$typelist)){
		$res["info"]="上传类型不符!".$upfile["type"];
		return $res;
	}

//5. 上传后的文件名定义(随机获取一个文件名(保持后缀名不变))
	$fileinfo = pathinfo($upfile["name"]);//解析上传文件名字
	do{
		$newfile= date("YmdHis").rand(1000,9999).".".$fileinfo["extension"];
	}while(file_exists($path.$newfile));
//6. 执行文件上传
	//判断是否是一个上传的文件
	if(is_uploaded_file($upfile["tmp_name"])){
		//执行文件上传(移动上传文件)
		if(move_uploaded_file($upfile["tmp_name"],$path."/".$newfile)){
			//将上传成功后的文件名,返回给数组
			$res["info"]=$newfile;
			$res["error"]=true;
			return $res;
		}else{
			$res["info"]="上传文件失败!";
		}
	}else{
		$res["info"]="不是一个上传的文件!";
	}		
		return $res;
	}
	
	
	
		//图片缩放
		function imageUpdateSize($picname,$maxx=100,$maxy=100,$pre="s_"){
		$info = getimageSize($picname); //获取图片的基本信息
		
		$w = $info[0];//获取宽度
		$h = $info[1];//获取高度
		
		//获取图片的类型并为此创建对应图片资源	
		switch($info[2]){
			case 1: //gif
				$im = imagecreatefromgif($picname);
				break;
			case 2: //jpg
				$im = imagecreatefromjpeg($picname);
				break;
			case 3: //png
				$im = imagecreatefrompng($picname);
				break;
			default:
				die("图片类型错误!");
		}
		
		//计算缩放比例
		if(($maxx/$w)>($maxy/$h)){
			$b = $maxy/$h;
		}else{
			$b = $maxx/$w;
		}
		
		//计算出缩放后的尺寸
		$nw = floor($w*$b);
		$nh = floor($h*$b);
		
		//创建一个新的图像源(目标图像)
		$nim = imagecreatetruecolor($nw,$nh);
			
		//执行等比缩放
		imagecopyresampled($nim,$im,0,0,0,0,$nw,$nh,$w,$h);
		
		//输出图像(根据源图像的类型,输出为对应的类型)
		$picinfo = pathinfo($picname);//解析源图像的名字和路径信息
		$newpicname= $picinfo["dirname"]."/".$pre.$picinfo["basename"];
		switch($info[2]){
			case 1:
				imagegif($nim,$newpicname);
				break;
			case 2:
				imagejpeg($nim,$newpicname);
				break;
			case 3:
				imagepng($nim,$newpicname);
				break;
		}
		//释放图片资源
		imagedestroy($im);
		imagedestroy($nim);
		//返回结果
		return $newpicname;
	}

index.php

<html>
<head>
<title>商品信息管理</title>
</head>
<body>
<center>
  <?php include("menu.php");//导入导航栏 ?>
  <h3>浏览商品信息</h3>

  <table border="1" width="700">
  	<tr>
    	<th>商品编号</th>
        <th>商品名称</th>
        <th>商品图片</th>
        <th>单价</th>
        <th>库存量</th>
        <th>添加时间</th>
        <th>操作</th>
    </tr>
    <?php
    	//从数据库中读取信息并输出到浏览器表格中
		//1.导入配置文件
			require("dbconfig.php");
		//2.连接数据库,并选择数据库
			$link = @mysql_connect(HOST,USER,PASS)or die("数据库连接失败!");
			mysql_select_db(DBNAME,$link);
			
		//3.执行商品信息查询
			$sql = "select * from goods";
			$result= mysql_query($sql,$link);			
		
		//4.解析商品信息(解析结果集)
			while($row=mysql_fetch_assoc($result)){
				echo "<tr>";
				echo "<td>{$row['id']}</td>";
				echo "<td>{$row['name']}</td>";
				echo "<td><img src='./uploads/s_{$row['pic']}'/></td>";
				echo "<td>{$row['price']}</td>";
				echo "<td>{$row['total']}</td>";
				echo "<td>".date("Y-m-d H:i:s",$row['addtime'])."</td>";
				echo "<td>
	     <a href='action.php?action=del&id={$row['id']}&picname={$row['pic']}'>删除</a>
		 <a href='edit.php?id={$row['id']}'>修改</a></td>";
				echo "</tr>";
			}
		
		//5.释放结果集,关闭数据库
		
		
	?>
 
  </table>

</center>
</body>
</html><br />

menu.php

	<h2>商品信息管理</h2>
    <a href="index.php">浏览商品</a>
    <a href="add.php">添加商品</a>
    
    <hr width="80%"/>
源码下载

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章