商品信息管理

轉載請註明出處: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%"/>
源碼下載

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