จะตรวจสอบอย่างไรในไฟล์ edit ว่าถ้าไม่มีไฟล์ที่ upload มาให้กลับไปอ้างอิงไฟล์เดิมครับ
????????????..............งงไหมครับ
<? //edit_save.php
//include("../check.php");
if(empty($_REQUEST['product_cate_id'])){
echo "<script>alert('id fail');window.location='indexcat.php';</script>";
exit();
}
if(empty($_POST['product_cate_name'])){
echo "<script>alert('add ชื่อหมวดหมู่');window.location='indexcat.php';</script>";
exit();
}
if(empty($_POST['product_cate_detail'])){
//echo "<script>alert('add รายละเอียด ');history.back();</script> ";
echo "<script>alert('add รายละเอียด');window.location='indexcat.php';</script>";
exit();
}
if(empty($_POST['icon1_add'])){
$icon1_add=0;
}
if(empty($_POST['vdo_add'])){
$vdo_add=0;
}
if(empty($_POST['vote_add'])){
$vote_add=0;
}
if(empty($_POST['detail_add'])){
$detail_add=0;
}
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
$product_cate_id = $_POST['product_cate_id'];
$product_cate_name = $_POST['product_cate_name'];
$product_cate_detail = $_POST['product_cate_detail'];
$icon1_add = $_POST['icon1_add'];
$vdo_add = $_POST['vdo_add'];
$vote_add = $_POST['vote_add'];
$detail_add = $_POST['detail_add'];
$product_cate_date_added = $_POST['product_cate_date_added'];
$product_cate_status = $_POST['product_cate_status'];
$product_cate_last_modified = "$year-$month-$day";
include("../../connect.php");
$sql="select * from product_categories where product_cate_id=$product_cate_id ";
$result = mysql_query($sql) or die("$sql Error");
$row = mysql_fetch_array($result);
$product_cate_image==$row['product_cate_detail'];
//file pic
if($_FILES["product_cate_image"]["tmp_name"]==""){
$uploadDir1 ='../../images/categories/photo/';
$thumbDir1 ='../../images/categories/thumb/';
Foreach ($_FILES["$product_cate_image"]["error"] as $key1 => $error) {
if ($error == 0 ) {
$title1 = trim($_REQUEST['title'][$key1]) ;
$size1 = $_FILES["$product_cate_image"]["size"][$key1];
$type1 = $_FILES["$product_cate_image"]["type"][$key1];
$tmp_name1 = $_FILES["$product_cate_image"]["tmp_name"][$key1];
$fname1 = $_FILES["$product_cate_image"]["name"][$key1];
$uploadfile1 = $uploadDir1 . basename($fname1);
$thumbfile1 = $thumbDir1 . $fname1;
}
}
}
$uploadDir1 ='../../images/categories/photo/';
$thumbDir1 ='../../images/categories/thumb/';
Foreach ($_FILES["product_cate_image"]["error"] as $key1 => $error) {
if ($error == 0 ) {
$title1 = trim($_REQUEST['title'][$key1]) ;
$size1 = $_FILES["product_cate_image"]["size"][$key1];
$type1 = $_FILES["product_cate_image"]["type"][$key1];
$tmp_name1 = $_FILES["product_cate_image"]["tmp_name"][$key1];
$fname1 = $_FILES["product_cate_image"]["name"][$key1];
$uploadfile1 = $uploadDir1 . basename($fname1);
$thumbfile1 = $thumbDir1 . $fname1;
//echo $title1,$size1,$type1,$tmp_name1, $fname1;
if (!ereg ("^image/pjpeg" , $type1 )) {
echo "<br>upload ไม่ได้ เฉพาะ JPG เท่านั้น กรุณาเช็คชนิดหรือขนาดไฟล์ ";
die;
}
$limit = 812000 ;
if ( $size1 > $limit ) {
echo "<br>upload ไม่ได้ ขนาดไฟล์ใหญ่เกินกว่า $limit ไบท์ ";
die;
}
move_uploaded_file($tmp_name1, "$uploadDir1$fname1");
// echo "$key1 : $title1 , $size1 Byte $type1 $fname1 , $thumbfile1<br>
";
//file pic
//file pic
list($w1, $h1) = getimagesize($uploadfile1); // Get new dimensions
$quality = 100;
$w2 = 100 ; #
$percent = $w2 / $w1 ;
$h2 = $h1 * $percent ;
$h2 = 80 ; #
$percent = $h2 / $h1 ;
$w2 = $w1 * $percent ;
$w2 = 120 ; #
$h2 = 90 ; #
$im = imageCreateTrueColor($w2+4, $h2+4);
$im1 = imageCreateFromJpeg($uploadfile1);
$dark = ImageColorAllocate($im,185,185,185); // dark
$light = ImageColorAllocate($im,230,230,230);
$white = ImageColorAllocate($im,254,254,254);
imagefilledRectangle($im, 0, 0, $w2+3 , $h2+3, $white);
imagefilledRectangle($im, 4, 4, $w2+4 , $h2+4, $light);
imagefilledRectangle($im, 3, 3, $w2+2 , $h2+2, $dark);
imageCopyResampled($im, $im1, 0, 0, 0, 0, $w2, $h2, $w1, $h1);
#imageCopyResized($im, $im1, 0, 0, 0, 0, $w2, $h2, $w1, $h1);
imageString($im, 5, 5, $h2 - 20, "wapsystem", $light);
imagejpeg($im, $thumbfile1 , $quality); # %
//imagejpeg($im, $uploadDir1 , $quality);
imageDestroy($im);
imageDestroy($im1);
//echo "<hr color=red noshade size=1>";
}
}
$sql2="UPDATE `product_categories` SET `product_cate_id` = '$product_cate_id',
`product_cate_name` = '$product_cate_name',
`product_cate_detail` = '$product_cate_detail',
`product_cate_image` = '$fname1',
`icon1_add` = '$icon1_add',
`vdo_add` = '$vdo_add',
`vote_add` = '$vote_add',
`detail_add` = '$detail_add',
`product_cate_date_added` = '$product_cate_date_added',
`product_cate_last_modified` = '$product_cate_last_modified',
`product_cate_status` = '$product_cate_status'WHERE `product_cate_id` =$product_cate_id";
//echo "$sql <hr>";
mysql_query($sql2) or die("$sql2 Error");
//file pic
echo "<script>alert('ข้อมูลถูกเก็บเรียบร้อยแล้ว');window.location='indexcat.php';</script>";
exit();
?>
คือจะตรวจสอบก่อนว่าถ้าไม่มีไฟล์ upload มาใหม่ให้อ้างอิงจากไฟล์เดิมน่ะครับ เช็คไงครับ ช่วยหน่อยนะครับ
จะทำหน้าแก้ไขข้อมูลใช่มั้ยครับ
ถ้ามีีการ upload รูปมาใหม่ ก็ให้ ทำการ resize รูปใหม่นั้น แล้วก็ update ฐานข้อมูล
แต่ถ้า ไม่มีการ upload รูปมา ก็ให้ ใ้ช้รูปเดิม ที่มีอยู่
if(empty($_FILES["product_cate_image"]["tmp_name"]){
ไม่มีการ uplaod รูปมา
update เฉพาะ ฟิลด์ที่เปลี่ยนแปลง ไม่ต้อง update ฟิลด์ ที่เก็บรูป
}else{
มีการ upload รูปมา
ทำการ resize
update ฐานข้อมูล
}
ถ้าผิดพลาดขออภัยด้วยแล้วกันครับ
อีกนิดหนึ่งครับ
จากสคริปด้านบน เราจะใส่คำสั่ง update ไว้ตรงไหนบ้างนะ เพราะผมลองแล้วมันออกนอกลูปไปเลย ไม่มีการเปลี่ยนแปลงน่ะครับ
ขอบคุณล่วงหน้ากาฟ
ดีนะครับแต่ความรู้ยังไม่ได้นะ ขอแบบอย่างง่าย ๆ นะมีปะครับ