อัพชื่อรูปไปเก็บไว้ในฐานข้อมูลแต่รูปเก็บไว้โฟลเดอร์ แต่มันไม่ได้ค่ะ
โค้ดอัพโหลดรูปไปเก็บไว้ใน picproduct
Code (PHP)
<?
include("connect.php");
$type_id=$_POST[type_id];
$pro_id=$_POST[pro_id];
$pro_name1=$_POST[pro_name1];
$pro_name=$_POST[pro_name];
$pro_property=$_POST[pro_property];
$pro_date=$_POST[pro_date];
$unit=$_POST[unit];
$qty=$_POST[qty];
$price_cost=$_POST[price_cost];
$price=$_POST[price];
//$image=$_POST[filUpload];
/*$strSQL = "UPDATE product ";
$strSQL .=" SET image = '".$_POST["filUpload"]."' WHERE pro_id='$pro_id' ";
$objQuery = mysql_query($strSQL);*/
if($_FILES["filUpload"]["name"] != ""){
if(move_uploaded_file($_FILES["filUpload"]["tmp_name"],"picproduct/".$_FILES["filUpload"]["name"])) {
//*** Delete Old File ***//
@unlink("picproduct/".$_POST["hdnOldFile"]);
//*** Update New File ***//
$sql="UPDATE product set image='".$_FILES["filUpload"]["name"]."' , type_id='$type_id',pro_name1='$pro_name1',pro_name='$pro_name',
pro_property='$pro_property',pro_date='$pro_date',unit='$unit',qty='$qty',price_cost='$price_cost',price='$price'where pro_id='$pro_id'";
$ok=mysql_query($sql) or die ("ไม่สามารถแก้ไขข้อมูลได้");
}
}
if($ok)
?>
<script language="Javascript">
alert ("อัพเดทเรียบร้อยแล้วค่ะ");
window.location='Resualt_Product.php';
</script>
Tag : PHP, MySQL
Date :
2013-01-29 21:54:15
By :
sunaree
View :
796
Reply :
16
อาจจะเป็นไปได้นะว่าชื่อรูปเก่ากับอันใหม่เหมือนกัน แบบว่าอัพรูปใหม่ชื่อ a.gif ไป รูปเก่าก็ชื่อ a.gif ก็ถูกลบตามหลัง
ลองเช็ตตัวแปรสองค่านี้ก่อนเหมือนกันเปล่า
$_FILES["filUpload"]["name"]
$_POST["hdnOldFile"]
Date :
2013-01-29 22:05:27
By :
xbeginner01
ลองคอมเม้น @unlink("picproduct/".$_POST["hdnOldFile"]);
ชื่อของรูปก็ไม่ถูกอัพเข้าไปในฐานข้อมูลและรูปก็ไม่ย้ายไปอยู่ใน picproduct อ่ะค่ะ
Date :
2013-01-29 22:15:21
By :
sunaree
ชื่อของรูปก็ไม่ถูกอัพเข้าไปในฐานข้อมูล
ไงเป็นงั้นได้ครับ ลืมบราว์นรูปเปล่าครับ
เท่าที่ดูก็ไม่น่ามีอะไรครับปัญหาถ้าไม่ใช่ชื่อรูปใหม่เก่าเหมือนกันก็เป็นไปได้ว่า
1. ไดเรททอรีรูปไม่ถูกต้อง picproduct อาจไม่มีจริงหรือยังต้องใส่ไดเรททอรีเพิ่มหรืออกอีก
2. ไดเรททอรีนัน้ถูก permission ตั้งไม่ให้เพิ่มหรือแก้ไขไฟล์ภายในได้ ( กรณีเช็คง่ายๆ ครับ ลองดูที่โค้ดตอนเพิ่มข้อมูลก็ได้ครับ ถ้าตอนเพิ่มข้อมูลแล้วรูปเข้าก็ ไม่ใช่สาเหตุข้อนี้)
3. เป็นไปได้ว่า encode ไฟล์ผิดข้อนี้เป็นไปได้น้อย
ดังนั้นลองให้น้องทดสอบง่าย เมื่อตอนเพิ่มข้อมูลได้ใช่มะ น้องเอาไฟล์เพิ่มข้อมูลนั้นแหล่ะ มาดัดแปลงใหม่ครับ
Date :
2013-01-29 22:39:27
By :
xbeginner01
แล้วพอลอง เอาคอมเม้นของ 3 บรรทัดนี้ออก ชื่อรูปก็สามารถอัพเข้าไปอยู่ในฐานข้อมูลได้ แต่รูปไม่ยอมมูพตามค่ะ
Code (PHP)
$strSQL = "UPDATE product ";
$strSQL .=" SET image = '".$_POST["filUpload"]."' WHERE pro_id='$pro_id' ";
$objQuery = mysql_query($strSQL);
Date :
2013-01-29 22:48:34
By :
sunaree
งั้นเข้าใจแหล่ะ น้องลองเอาฟอร์มกรอกข้อมูลมาดีกว่าครับ น่าจะเป็นที่ฟอร์มมากกว่าแหล่ะ
Date :
2013-01-29 22:53:20
By :
xbeginner01
แล้วก็ส่งไปหน้า update_pro.php ก็คือโค้ดข้างบนอ่ะค่ะ
ประวัติการแก้ไข 2013-01-29 23:21:55
Date :
2013-01-29 23:06:51
By :
sunaree
ขอดูโค้ดครับ**
Date :
2013-01-29 23:13:33
By :
xbeginner01
Code (PHP)
<?
include("connect.php");
$pro_id=$_GET[pro_id];
$sql="select * from product where pro_id='$pro_id' ";
$res=mysql_query($sql);
$show=mysql_fetch_array($res);
?>
<table width="1040" border="0" align="center">
<tr>
<td width="1034" align="center"><img src="image/Lo.jpg" alt="" width="667" height="213" /></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><fieldset>
<legend align="center" style="color:#99cc00"><font face="MS Serif, New York, serif" size="+2">อัพเดทข้อมูลสินค้า</font>
</legend>
<table width="700" border="0" align="center">
<tr>
<td colspan="3" align="center"> </td>
</tr>
<tr>
<td align="center"><a href="index_admin.php"><img src="image/house.jpg" alt="" width="80" height="60" border="0" /></a></td>
<td width="416" align="center"> </td>
<td width="140" align="center"><a href="Resualt_Product.php"><img src="Image/crm/go-back-icon.png" alt="" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="130" align="center"><p>กลับสู่หน้าหลัก</p></td>
<td width="416" align="center"> </td>
<td align="center">ย้อนกลับ</td>
</tr>
<tr>
<td align="left"> </td>
<td width="416" align="center"> </td>
<td align="center"> </td>
</tr>
<tr>
<td colspan="3"><fieldset>
<legend style="color:#09F">ข้อมูลสินค้า</legend>
<form id="form1" name="form1" method="post" action="update_pro.php">
<table width="500" border="0" align="center" cellpadding="5" cellspacing="5">
<tr>
<td width="150"><font style="font:'MS Sans Serif'">ประเภทสินค้า</font></td>
<td width="350"><select name="type_id" id="type_id">
<option selected="selected">กรุณาเลือกประเภทสินค้า</option>
<option value="1">ยา</option>
<option value="2">อาหารเสริม</option>
</select></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">รหัสสินค้า</font></td>
<td width="350"><label>
<input name="pro_id" type="text" id="pro_id" value="<? echo $show[pro_id];?>" readonly="readonly" style="background-color:#0CF" />
</label></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">ชื่อสามัญ</font></td>
<td width="350"><label>
<input name="pro_name1" type="text" id="pro_name1" value="<? echo $show [pro_name1] ?>" />
</label></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">ชื่อการค้า</font></td>
<td width="350"><label>
<input name="pro_name" type="text" id="pro_name" value="<? echo $show [pro_name] ?>" />
</label></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">สรรพคุณ</font></td>
<td width="350"><label>
<textarea name="pro_property" id="pro_property" cols="30" rows="3"><? echo $show [pro_property] ?></textarea>
</label></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">วันที่หมดอายุ</font></td>
<td width="350">
<input type="text" name="pro_date" id="pro_date" /><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fPopCalendar(document.form1.pro_date);return false;" ><img class="PopcalTrigger" align="absmiddle" src="PopCalendarXP/calbtn.gif" width="34" height="22" border="0" alt=""></a>
</td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">หน่วย</font></td>
<td width="350"><select name="unit" id="unit">
<option value="เม็ด">เม็ด</option>
<option value="ขวด">ขวด</option>
<option value="แผง">แผง</option>
<option value="กล่อง">กล่อง</option>
<option value="ซอง">ซอง</option>
</select></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">จำนวนคงเหลือ</font></td>
<td width="350"><input type="text" name="qty_old" id="qty_old" value="<?=$show[qty_old]?>" /></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">จำนวนเพิ่มเติม</font></td>
<td width="350"><label>
<input name="qty_new" type="text" id="qty_new" value="<? echo $show [qty_new] ?>" />
</label></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">ราคาต้นทุน</font></td>
<td width="350"><label>
<input name="price_cost" type="text" id="price_cost" value="<? echo $show [price_cost] ?>" />
</label></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">ราคาขาย</font></td>
<td width="350"><label>
<input name="price" type="text" id="price" value="<? echo $show [price] ?>" />
</label></td>
</tr>
<tr>
<td width="150"><font style="font:'MS Sans Serif'">รูปภาพ</font></td>
<td width="350"><img src="picproduct/<?=$show[image];?>" width="100" height="150"></td>
</tr>
<tr>
<td width="150"> </td>
<td width="350"><input type="file" name="filUpload" id="filUpload" /></td>
</tr>
<tr>
<td width="150"> </td>
<td width="350"><label>
<input type="submit" name="submit" id="submit" value="Update" onclick="return Conf(this)"/>
</label></td>
</tr>
</table>
</form>
</fieldset></td>
</tr>
</table>
<p> </p>
<p> </p>
</fieldset></td>
</tr>
<tr>
<td> </td>
</tr>
</table>
<script language="javascript">
function Conf(){
if(confirm('โปรดยืนยันการอัพเดทข้อมูล?')){
return true;
}else{
return false;
}
}
</script>
Date :
2013-01-29 23:20:16
By :
sunaree
เกือบจะได้ค่ะ มันฟ้องมาว่า "ไม่สามารถแก้ไขข้อมูลได้"
ขอบคุณมากนะค่ะ
ประวัติการแก้ไข 2013-01-30 00:02:45
Date :
2013-01-29 23:47:02
By :
sunaree
เปลี่ยนจาก or die ("ไม่สามารถแก้ไขข้อมูลได้"); เป็น or die(mysql_error()); แล้วนำ error มาโพสครับ จะเช็คง่ายกว่า
Date :
2013-01-30 00:27:37
By :
xbeginner01
ปรับ sql ให้ดูง่ายๆ
Code (PHP)
$sql = "UPDATE product set image='".$_FILES["filUpload"]["name"]."',";
$sql .="type_id='$type_id',pro_name1='$pro_name1',pro_name='$pro_name',";
$sql .="pro_property='$pro_property',pro_date='$pro_date',";
$sql .= "unit='$unit',"; // ถ้าใน database กำหนด unit เป็น int ให้ใช้ unit=$unit
$sql .= "qty='$qty',";// ถ้าใน database กำหนด qty เป็น int ให้ใช้ qty=$qty
$sql .= "price_cost='$price_cost',";// ถ้าใน database กำหนด price_cost เป็น numberic ให้ใช้ price_cost=$price_cost
$sql .= "price='$price'where pro_id='$pro_id'";
ลอง echo $sql ออกมาดู แล้ว copy ไปรัน phpmyadmin ดูว่ารันได้ไม๊ หรือ ผิดตรงไหน
ประวัติการแก้ไข 2013-01-30 00:52:02
Date :
2013-01-30 00:51:28
By :
mangkunzo
ปรับตามนี้แล้วค่ะแต่ก็ยัง error ตามภาพอ่ะค่ะ
Code (PHP)
$sql="UPDATE product set image='".$_FILES["filUpload"]["name"]."',";
$sql.="pro_name1='$pro_name1',pro_name='$pro_name',";
$sql.="pro_property='$pro_property',pro_date='$pro_date',";
$sql.="unit='$unit',qty_old='$qty_old',qty_new='$qty_new',";
$sql.="price_cost='$price_cost',price='$price', type_id='$type_id' where pro_id='$pro_id'";
Date :
2013-01-30 01:02:12
By :
sunaree
ตอบความคิดเห็นที่ : 14 เขียนโดย : sunaree เมื่อวันที่ 2013-01-30 01:02:12
รายละเอียดของการตอบ ::
เวรกรรม
ลอง echo $sql ออกมาดู แล้ว copy ไปรัน phpmyadmin ดูว่ารันได้ไม๊ หรือ ผิดตรงไหน
Code (PHP)
$sql="UPDATE product set image='".$_FILES["filUpload"]["name"]."',";
$sql.="pro_name1='$pro_name1',pro_name='$pro_name',";
$sql.="pro_property='$pro_property',pro_date='$pro_date',";
$sql.="unit='$unit',qty_old='$qty_old',qty_new='$qty_new',";
$sql.="price_cost='$price_cost',price='$price', type_id='$type_id' where pro_id='$pro_id'";
echo $sql; // มันจะแสดง query ออกมา ค่อย copy เอาไปลองรันใน phpmyadmin ไม่ใช่เอา code php ไปรันน่ะครับ
Date :
2013-01-30 01:08:09
By :
mangkunzo
ได้แล้วค่ะ เพิ่มตัวแปร file เก็บเป็นไฟล์ ก็เลยได้เลยค่ะ ขอบคุณพี่ๆมากค่ะ
Code (PHP)
$file=$_FILES["filUpload"]["name"];
$sql="UPDATE product set ";
$sql.="pro_name1='$pro_name1',pro_name='$pro_name',";
$sql.="pro_property='$pro_property',pro_date='$pro_date',";
$sql.="unit='$unit',qty_old='$qty_old',qty_new='$qty_new',";
$sql.="price_cost='$price_cost',price='$price',image='$file', type_id='$type_id' where pro_id='$pro_id'";
ประวัติการแก้ไข 2013-01-30 01:15:18
Date :
2013-01-30 01:14:34
By :
sunaree
Load balance : Server 01