อาจารย์ครับช่วยผมทีครับเกี่ยวกับการอัพเดทรูปภาพในฐานข้อมูลครับ
คือว่าผมสร้างระบบแก้ไขข้อมูลน่ะครับ แล้วทีนี้ผมอยากทำให้สามารถแก้ไขข้อมูลข้อมูลได้ทั้งหมดน่ะครับ แต่ติดที่เป็นรูปภาพอ่ะครับทำการอัพเดทแล้วไม่ได้ครับ คือผมจะเช็คว่า ถ้ารูปภาพไม่มีการอัพเดทข้อมูลมาก็ใมห้ใช้ค่าเก่าที่มีในฐานข้อมูลที่มีอยู่เดิม และถ้ารูปมีการอัพเดทเข้ามาก้ทับของเดิมไปเลย และก็ทับทีี่อยู่ในfoder ทเก็บรูปภาพด้วยเลยน่ะครับ ตอนนี้ผมทำได้คือ เรียกชื่อไฟล์รูปภาพมาจากฐานข้อมูลเพื่อที่จะแก้ไขแล้วส่งไปเช็คที่ไฟล์อัพเดท แต่กลายเป็นว่าถ้าไม่ได้เลือกรูปภาพเลย ก็จะกลายเป็นค่าว่างในฐานข้อมูลเลยครับ ผมจะแก้ยังไงครับ
#################ฟอร์มแก้ไขรูปภาพ ยกตัวอย่างเฉพาะฟิลด์รูปที่ยังติดปัญหาน่ะครับ###############
<input type="file" name="photo1" value="<? $photo1=$row[45];?>">
<input type="file" name="photo2" value="<? $photo1=$row[46];?>">
<input type="file" name="photo3" value="<? $photo1=$row[47];?>">
<input type="file" name="photo4" value="<? $photo1=$row[48];?>">
<input type="file" name="photo5" value="<? $photo1=$row[49];?>">
<input type="file" name="photo6" value="<? $photo1=$row[50];?>">
#################################################################
ส่งมาอัพเดทน่ะครับ
#################################################################
<?
$photo1=$_FILES['photo1']['tmp_name'];
$photo1_name=$_FILES['photo1']['name'];
$photo1_type=$_FILES['photo1']['type'];
$photo6_size=$_FILES['photo1']['size'];
$photo2=$_FILES['photo2']['tmp_name'];
$photo2_name=$_FILES['photo2']['name'];
$photo2_type=$_FILES['photo2']['type'];
$photo6_size=$_FILES['photo2']['size'];
$photo3=$_FILES['photo3']['tmp_name'];
$photo3_name=$_FILES['photo3']['name'];
$photo3_type=$_FILES['photo3']['type'];
$photo6_size=$_FILES['photo3']['size'];
$photo4=$_FILES['photo4']['tmp_name'];
$photo4_name=$_FILES['photo4']['name'];
$photo4_type=$_FILES['photo4']['type'];
$photo6_size=$_FILES['photo4']['size'];
$photo5=$_FILES['photo5']['tmp_name'];
$photo5_name=$_FILES['photo5']['name'];
$photo5_type=$_FILES['photo5']['type'];
$photo5_size=$_FILES['photo5']['size'];
$photo6=$_FILES['photo6']['tmp_name'];
$photo6_name=$_FILES['photo6']['name'];
$photo6_type=$_FILES['photo6']['type'];
$photo6_size=$_FILES['photo6']['size'];
include 'connect.php';
$photo1=$photo1_name;
$photo2=$photo2_name;
$photo3=$photo3_name;
$photo4=$photo4_name;
$photo5=$photo5_name;
$photo6=$photo6_name;
if(!empty($photo1))
{
$uppic1=$photo1;
}
else
{
$uppic1=$pic1;
}
if(!empty($photo2))
{
$uppic2=$photo2;
}
else
{
$uppic2=$pic2;
}
if(!empty($photo3))
{
$uppic3=$photo3;
}
else
{
$uppic3=$pic3;
}
if(!empty($photo4))
{
$uppic4=$photo4;
}
else
{
$uppic4=$pic4;
}
if(!empty($photo5))
{
$uppic1=$photo6;
}
else
{
$uppic6=$pic6;
}
$array_last1=explode(".",$photo1_name);
$c1=count($array_last1)-1;
$lastname1=strtolower($array_last1[$c1]) ;
if ($lastname1=="gif" or $lastname1=="jpg" or $lastname1=="jpeg" or $lastname1=="png" or $lastname1=="") {
copy($_FILES['photo1']['tmp_name'],"pic_upload/".$photo1_name);
$array_last2=explode(".",$photo2_name);
$c2=count($array_last2)-1;
$lastname2=strtolower($array_last2[$c2]) ;
if ($lastname2=="gif" or $lastname2=="jpg" or $lastname2=="jpeg" or $lastname2=="png" or $lastname2=="") {
copy($_FILES['photo2']['tmp_name'],"pic_upload/".$photo2_name);
$array_last3=explode(".",$photo3_name);
$c3=count($array_last3)-1;
$lastname3=strtolower($array_last3[$c3]) ;
if ($lastname3=="gif" or $lastname3=="jpg" or $lastname3=="jpeg" or $lastname3=="png" or $lastname3=="") {
copy($_FILES['photo3']['tmp_name'],"pic_upload/".$photo3_name);
$array_last4=explode(".",$photo4_name);
$c4=count($array_last4)-1;
$lastname4=strtolower($array_last4[$c4]) ;
if ($lastname4=="gif" or $lastname4=="jpg" or $lastname4=="jpeg" or $lastname4=="png" or $lastname4=="") {
copy($_FILES['photo4']['tmp_name'],"pic_upload/".$photo4_name);
$array_last5=explode(".",$photo5_name);
$c5=count($array_last5)-1;
$lastname5=strtolower($array_last5[$c5]) ;
if ($lastname5=="gif" or $lastname5=="jpg" or $lastname5=="jpeg" or $lastname5=="png" or $lastname5=="") {
copy($_FILES['photo5']['tmp_name'],"pic_upload/".$photo5_name);
$array_last6=explode(".",$photo6_name);
$c6=count($array_last6)-1;
$lastname6=strtolower($array_last6[$c6]) ;
if ($lastname6=="gif" or $lastname6=="jpg" or $lastname6=="jpeg" or $lastname6=="png" or $lastname6=="") {
copy($_FILES['photo6']['tmp_name'],"pic_upload/".$photo6_name);
print $sql="UPDATE ads SET `pic1`='$uppic1',
`pic2`='$uppic2',
`pic3`='$uppic3',
`pic4`='$uppic4',
`pic5`='$uppic5',
`pic6`='$uppic6',
where `ads`.`id_ads`='$id_ads'";
$res=mysql_db_query($dbname,$sql);
print "<a href=\"javascript:history.go(-1)\"><center>แก้ไขรายการเรียบร้อยแล้ว คลิกที่นีเพื่อกลับ</center></a>";
//print "<meta http-equiv=\"refresh\" content=\"2;URL=chk_user_login.php\">";
}
}
}
}
}
}
else
{
print "<h3>ERROR : เฉพาะรูปภาพนามสกุล *.gif , *.jpg , *.jpeg เท่านั้น<a href=\"javascript:history.go(-1)\"><input type=\"button\" value=\"Back\" onClick=\"history.go(-1)\"></a></h3>";
}
mysql_close();
?>
#################ฟอร์มแก้ไขรูปภาพ ยกตัวอย่างเฉพาะฟิลด์รูปที่ยังติดปัญหาน่ะครับ###############
<input type="file" name="photo1" value="<? $photo1=$row[45];?>">
<input type="file" name="photo2" value="<? $photo1=$row[46];?>">
<input type="file" name="photo3" value="<? $photo1=$row[47];?>">
<input type="file" name="photo4" value="<? $photo1=$row[48];?>">
<input type="file" name="photo5" value="<? $photo1=$row[49];?>">
<input type="file" name="photo6" value="<? $photo1=$row[50];?>">
#################################################################
ส่งมาอัพเดทน่ะครับ
#################################################################
<?
$photo1=$_FILES['photo1']['tmp_name'];
$photo1_name=$_FILES['photo1']['name'];
$photo1_type=$_FILES['photo1']['type'];
$photo6_size=$_FILES['photo1']['size'];
$photo2=$_FILES['photo2']['tmp_name'];
$photo2_name=$_FILES['photo2']['name'];
$photo2_type=$_FILES['photo2']['type'];
$photo6_size=$_FILES['photo2']['size'];
$photo3=$_FILES['photo3']['tmp_name'];
$photo3_name=$_FILES['photo3']['name'];
$photo3_type=$_FILES['photo3']['type'];
$photo6_size=$_FILES['photo3']['size'];
$photo4=$_FILES['photo4']['tmp_name'];
$photo4_name=$_FILES['photo4']['name'];
$photo4_type=$_FILES['photo4']['type'];
$photo6_size=$_FILES['photo4']['size'];
$photo5=$_FILES['photo5']['tmp_name'];
$photo5_name=$_FILES['photo5']['name'];
$photo5_type=$_FILES['photo5']['type'];
$photo5_size=$_FILES['photo5']['size'];
$photo6=$_FILES['photo6']['tmp_name'];
$photo6_name=$_FILES['photo6']['name'];
$photo6_type=$_FILES['photo6']['type'];
$photo6_size=$_FILES['photo6']['size'];
include 'connect.php';
$photo1=$photo1_name;
$photo2=$photo2_name;
$photo3=$photo3_name;
$photo4=$photo4_name;
$photo5=$photo5_name;
$photo6=$photo6_name;
if(!empty($photo1))
{
$uppic1=$photo1;
}
else
{
$uppic1=$pic1;
}
if(!empty($photo2))
{
$uppic2=$photo2;
}
else
{
$uppic2=$pic2;
}
if(!empty($photo3))
{
$uppic3=$photo3;
}
else
{
$uppic3=$pic3;
}
if(!empty($photo4))
{
$uppic4=$photo4;
}
else
{
$uppic4=$pic4;
}
if(!empty($photo5))
{
$uppic1=$photo6;
}
else
{
$uppic6=$pic6;
}
$array_last1=explode(".",$photo1_name);
$c1=count($array_last1)-1;
$lastname1=strtolower($array_last1[$c1]) ;
if ($lastname1=="gif" or $lastname1=="jpg" or $lastname1=="jpeg" or $lastname1=="png" or $lastname1=="") {
copy($_FILES['photo1']['tmp_name'],"pic_upload/".$photo1_name);
$array_last2=explode(".",$photo2_name);
$c2=count($array_last2)-1;
$lastname2=strtolower($array_last2[$c2]) ;
if ($lastname2=="gif" or $lastname2=="jpg" or $lastname2=="jpeg" or $lastname2=="png" or $lastname2=="") {
copy($_FILES['photo2']['tmp_name'],"pic_upload/".$photo2_name);
$array_last3=explode(".",$photo3_name);
$c3=count($array_last3)-1;
$lastname3=strtolower($array_last3[$c3]) ;
if ($lastname3=="gif" or $lastname3=="jpg" or $lastname3=="jpeg" or $lastname3=="png" or $lastname3=="") {
copy($_FILES['photo3']['tmp_name'],"pic_upload/".$photo3_name);
$array_last4=explode(".",$photo4_name);
$c4=count($array_last4)-1;
$lastname4=strtolower($array_last4[$c4]) ;
if ($lastname4=="gif" or $lastname4=="jpg" or $lastname4=="jpeg" or $lastname4=="png" or $lastname4=="") {
copy($_FILES['photo4']['tmp_name'],"pic_upload/".$photo4_name);
$array_last5=explode(".",$photo5_name);
$c5=count($array_last5)-1;
$lastname5=strtolower($array_last5[$c5]) ;
if ($lastname5=="gif" or $lastname5=="jpg" or $lastname5=="jpeg" or $lastname5=="png" or $lastname5=="") {
copy($_FILES['photo5']['tmp_name'],"pic_upload/".$photo5_name);
$array_last6=explode(".",$photo6_name);
$c6=count($array_last6)-1;
$lastname6=strtolower($array_last6[$c6]) ;
if ($lastname6=="gif" or $lastname6=="jpg" or $lastname6=="jpeg" or $lastname6=="png" or $lastname6=="") {
copy($_FILES['photo6']['tmp_name'],"pic_upload/".$photo6_name);
print $sql="UPDATE ads SET `pic1`='$uppic1',
`pic2`='$uppic2',
`pic3`='$uppic3',
`pic4`='$uppic4',
`pic5`='$uppic5',
`pic6`='$uppic6',
where `ads`.`id_ads`='$id_ads'";
$res=mysql_db_query($dbname,$sql);
print "<a href=\"javascript:history.go(-1)\"><center>แก้ไขรายการเรียบร้อยแล้ว คลิกที่นีเพื่อกลับ</center></a>";
//print "<meta http-equiv=\"refresh\" content=\"2;URL=chk_user_login.php\">";
}
}
}
}
}
}
else
{
print "<h3>ERROR : เฉพาะรูปภาพนามสกุล *.gif , *.jpg , *.jpeg เท่านั้น<a href=\"javascript:history.go(-1)\"><input type=\"button\" value=\"Back\" onClick=\"history.go(-1)\"></a></h3>";
}
mysql_close();
?>
<?php
$sql = 'UPDATE table SET '
if ($fileupload[tmp_name] != '') {
$sql.= "picture='$fileupload[name]' " ; // เขียนโค้ดสำหรับอัปเดท sql
// upload file ถ้ามีส่งมา
}
// echo $sql; // เพื่อตรวจสอบผลลัพท์
my_sql_query($sql);
?>
แล้วผมก้ใช้ $uppic1-6 เพื่อใช้ในการตรวจสอบ
if(!empty($photo1))
{
$uppic1=$photo1; // คือ ถ้าตัวแปรที่รับค่าเบรารูปใหม่ไม่ว่าง
}
else
{
$uppic1=$pic1; // $pic1-6คือ ตัวแปรที่เก้บค่าชื่อรูปที่ดึงมาจากฐานข้อมูล จะทำงานในกรณีที่ ไม่มีการเลือกรูปขึ้นมาใหม่
}
if(!empty($photo2))
{
$uppic2=$photo2;
}
else
{
$uppic2=$pic2;
}
if(!empty($photo3))
{
$uppic3=$photo3;
}
else
{
$uppic3=$pic3;
}
if(!empty($photo4))
{
$uppic4=$photo4;
}
else
{
$uppic4=$pic4;
}
if(!empty($photo5))
{
$uppic1=$photo6;
}
else
{
$uppic6=$pic6;
}
//แล้วอัพเดทให้เป็นแบบนี้เลยได้มั้ยครับ -->แต่ผมก้ทำแบบนี้ที่เขาแนะมาน่ะครับแต่ก้ไม่ได้เป็นค่าว่างเลยถ้าไม่อัพรูปมาครับ
print $sql="UPDATE ads SET `pic1`='$uppic1', `pic2`='$uppic2', `pic3`='$uppic3', `pic4`='$uppic4',`pic5`='$uppic5', `pic6`='$uppic6' where `ads`.`id_ads`='$id_ads'";
<? $photo1=$row[45];?>
<input type="file" name="photo1"><input name="photo1" type="hidden" value="<? echo "$photo1";?>" /></P>
<? echo "$photo1";?>
<? $photo2=$row[46];?>
<input type="file" name="photo2" ><input name="photo2" type="hidden" value="<? echo "$photo2";?>">
<? echo "$photo2";?>
<? $photo3=$row[47];?>
<input type="file" name="photo3" > <input name="photo4" type="hidden" value="<? echo "$photo3";?>">
<? echo "$photo3";?>
<? $photo4=$row[48];?>
<input type="file" name="photo4" > <input name="photo4" type="hidden" value="<? echo "$photo4";?>">
<? echo "$photo4";?>
<? $photo5=$row[49];?>
<input type="file" name="photo5" > <input name="photo5" type="hidden" value="<? echo "$photo5";?>">
<? echo "$photo5";?>
<? $photo6=$row[50]; ?>
<input type="file" name="photo6" > <input name="photo6" type="hidden" value="<? echo "$photo6";?>">
<? echo "$photo6";?>
$_FILES[photo1][tmp_name] ไง
เวลาตรวจสอบให้ใช้
if ($_FILES[photo1][tmp_name] != '') {
// มีไฟล์ส่งมา
}
ถ้ายากรู้ว่ามีอะไรส่งมาบ้างก็ใช้ print_r($_FILES); เพื่อดูว่ามีไฟล์ใดๆส่งมาบ้างหรือไม่
ศึกษาเพิ่มเติมเกี่ยวกับการอัปโหลด ได้บนเว็บครับ เสียเวลาอ่านแค่ไม่กี่นาทีหรอกครับ