|
|
|
แก้ไข form ที่มี input type="file"(รูปภาพ) พอแก้แค่พวก "text" แต่จะไม่เปลี่ยนรูปภาพ กดอัพเดต ส่วนที่แก้ก็แก้ตาม แต่รูปหาย ไม่เป็นรูปเดิม |
|
|
|
|
|
|
|
อยากให้ยังคงรูปเดิมไว้ เพราะตอนกดเข้าไปแก้ไข ตรงรูปภาพจะเป็นปุ่ม choose file no file shosen (เป็นค่าว่าง) ต้องเลือกรูปใหม่ทุกครั้งที่จะอัพเดต ตอนเป็น type="text" รูปไม่หาย แต่เวลาแก้ไขมันต้องพิมพ์ตำแหน่งรูป ซึ่งมันไม่สะดวกเท่า type="file" ค่ะ รบกวนผู้รู้ช่วยแก้ปัญหาให้ทีนะคะ เป็นนักศึกษา และเป็นมือใหม่ php ค่ะ
|
|
|
|
|
Date :
2018-09-04 09:51:10 |
By :
ampere27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
วิธีการที่ผมใช้ คือเช็คก่อนครับว่ามีการ upload รูปหรือไม่ ถ้ามี ค่อย update ครับ
|
|
|
|
|
Date :
2018-09-04 10:02:35 |
By :
Jatmentz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็คือต้อง กดเลือกรูปใหม่ทุกครั้งเลยหรอคะ อยากให้ยังคงเป็นรูปเดิมไม่ต้องเลือกใหม่ทุกครั้งที่มีการแก้ไขตรงอื่นอะค่ะ
ส่วนการ upload รูป มีรูปเข้าฐานข้อมูล เข้าโฟลเดอร์ปกติค่ะ
|
ประวัติการแก้ไข 2018-09-04 10:14:02
|
|
|
|
Date :
2018-09-04 10:12:35 |
By :
ampere27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ส่วนการ upload รูป มีรูปเข้าฐานข้อมูล เข้าโฟลเดอร์ปกติค่ะ
|
|
|
|
|
Date :
2018-09-04 10:13:40 |
By :
ampere27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องเช็คยังไงหรอคะ
จากรูปคือกดแก้ไข ก็จะมีหน้าต่างแก้ไขขึ้นมาแบบนี้ แล้วส่วนที่เป็น type file จะเป็นค่าว่าง ไม่เป็นค่าเดิมค่ะ ก่อนจะกดอัพเดตก็ต้องเพิ่มรูปทุกครั้งก่อนกดเลยค่ะ อีกวิธีนึงที่หนูทำคือให้ส่วน type file ไปอยู่หน้าเว็บข้างๆปุ่มแก้ไขกับปุ่มลบไปเลย เวลาจะไม่แก้ไขภาพก็ไม่ต้องให้มีในฟอร์มของ type อื่นๆ เวลาจะแก้ไขภาพก็ไปกดที่แก้ไข type file ที่เอาไปไว้ไปเลยค่ะ แต่มันรก เลยอยากหาวิธีที่ทำให้อยู่ใน ฟอร์มเดียวกันได้ รบกวนด้วยนะคะ
|
ประวัติการแก้ไข 2018-09-04 10:43:32
|
|
|
|
Date :
2018-09-04 10:42:30 |
By :
ampere27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอามาไว้หน้าเว็บแบบนี้ค่ะ มันดูรกๆ
|
|
|
|
|
Date :
2018-09-04 10:54:03 |
By :
ampere27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดู code ตอน update หน่อยครับ
|
|
|
|
|
Date :
2018-09-04 11:20:24 |
By :
Jatmentz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่รู้เจ้าของกระทู้ ทำได้หรือยังนะคับ
โค้ดนี้จะอยู่ในส่วนของหน้า form edit นะคับผมอธิบายไม่ค่อยเก่ง
Code (PHP)
<div class="form-group">
<label>ไฟล์รูปภาพ 1</label>
<label for="img"></label>
<img src="../../images/<?php echo $row_edit['img']; ?>" width="60" /> //ดึงรูปจากโฟร์เดอร์
<br>
<input type="file" name="img" id="img" accept="image/jpeg"> //กรณีเลือกรูปใหม่ก็จะแทนที่รูปเดิม
<input name="img2" type="hidden" id="img2" value="<?php echo $row_edit['img']; ?>"> //ถ้าไม่มีการเลือกรูปก็ใช้รูปอันเดิม
</div>
|
|
|
|
|
Date :
2018-09-04 11:21:11 |
By :
HLEW |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php require_once('../Connections/myconnection.php'); ?>
<?php include("upload.php"); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE strategy SET strategy_img=%s, strategy_cap=%s, strategy_file=%s, strategy_link=%s WHERE id=%s",
GetSQLValueString(Upload($_FILES['strategy_img']), "text"),
GetSQLValueString($_POST['strategy_cap'], "text"),
GetSQLValueString(Uploadfile($_FILES['strategy_file']), "text"),
GetSQLValueString($_POST['strategy_link'], "text"),
GetSQLValueString($_POST['id'], "int"));
mysql_select_db($database_myconnection, $myconnection);
$Result1 = mysql_query($updateSQL, $myconnection) or die(mysql_error());
$updateGoTo = "#";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
$colname_updatestrategyrcs = "-1";
if (isset($_GET['strategyid'])) {
$colname_updatestrategyrcs = $_GET['strategyid'];
}
mysql_select_db($database_myconnection, $myconnection);
$query_updatestrategyrcs = sprintf("SELECT * FROM strategy WHERE id = %s", GetSQLValueString($colname_updatestrategyrcs, "int"));
$updatestrategyrcs = mysql_query($query_updatestrategyrcs, $myconnection) or die(mysql_error());
$row_updatestrategyrcs = mysql_fetch_assoc($updatestrategyrcs);
$totalRows_updatestrategyrcs = mysql_num_rows($updatestrategyrcs);
mysql_free_result($updatestrategyrcs);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="UTF-8">
<title>edit</title>
</head>
<body onunload="opener.location=('for_admin.php')">
<form method="post" name="form1" action="<?php echo $editFormAction; ?>" enctype="multipart/form-data">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Id:</td>
<td><?php echo $row_updatestrategyrcs['id']; ?></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_img:</td>
<td><input type="file" name="strategy_img" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_img'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_cap:</td>
<td><input type="text" name="strategy_cap" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_cap'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_file:</td>
<td><input type="file" name="strategy_file" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_file'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_link:</td>
<td><input type="text" name="strategy_link" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_link'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Update record"></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="id" value="<?php echo $row_updatestrategyrcs['id']; ?>">
</form>
</body>
</html>
อันนี้เป็นโค้ดในหน้าต่าง edit นะค่ะ
|
|
|
|
|
Date :
2018-09-04 11:27:22 |
By :
ampere27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
function Upload($file,$path="./imgupload/"){
if(@copy($file["tmp_name"],$path.$file["name"])){
@chmod($path.$file,0777);
return $file["name"];
}else{
return false;
}
}
?>
<?php
function Uploadfile($file,$path="./file/"){
if(@copy($file["tmp_name"],$path.$file["name"])){
@chmod($path.$file,0777);
return $file["name"];
}else{
return false;
}
}
?>
อันนี้เป็นโค้ดไฟล์ upload ค่ะ
|
|
|
|
|
Date :
2018-09-04 11:31:37 |
By :
ampere27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ง่ายๆ ก็แค่เช็คว่ามีการแนบไฟล์มาหรือไม่? เช็คตอนจะใช้คำสั่ง UPDATE ก็ได้ หรือจะใช้วิธีอื่นก็ตามใจ
Code (PHP)
if( ! empty($_FILES['strategy_file']['name']))
$updateSQL = sprintf("UPDATE strategy SET strategy_img=%s, strategy_cap=%s, strategy_file=%s, strategy_link=%s WHERE id=%s",
GetSQLValueString(Upload($_FILES['strategy_img']), "text"),
GetSQLValueString($_POST['strategy_cap'], "text"),
GetSQLValueString(Uploadfile($_FILES['strategy_file']), "text"),
GetSQLValueString($_POST['strategy_link'], "text"),
GetSQLValueString($_POST['id'], "int"));
} else {
$updateSQL = sprintf("UPDATE strategy SET strategy_img=%s, strategy_cap=%s, strategy_link=%s WHERE id=%s",
GetSQLValueString(Upload($_FILES['strategy_img']), "text"),
GetSQLValueString($_POST['strategy_cap'], "text"),
GetSQLValueString($_POST['strategy_link'], "text"),
GetSQLValueString($_POST['id'], "int"));
}
|
|
|
|
|
Date :
2018-09-04 11:46:01 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ชัวร์นะครับ ลองดู
Code (PHP)
GetSQLValueString(Upload($_FILES['strategy_img']), "defined", "'".$_FILES['strategy_img']['name']."'", "strategy_img"),
|
|
|
|
|
Date :
2018-09-04 12:03:42 |
By :
Jatmentz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 11 เขียนโดย : ampere27 เมื่อวันที่ 2018-09-04 11:29:21
รายละเอียดของการตอบ ::
น่าจะประมาณนี้ครับโชว์รูปภาพ ก็ดูว่าโฟร์เดอร์เก็บไฟล์เราเรียกถูกไหม หรือก็ค้นหาในกระทู้เก่าๆมีนะคับ
Code (PHP)
<form method="post" name="form1" action="<?php echo $editFormAction; ?>" enctype="multipart/form-data">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Id:</td>
<td><?php echo $row_updatestrategyrcs['id']; ?></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_img:</td>
<td><input type="file" name="strategy_img" value="./imgupload/<?php echo htmlentities($row_updatestrategyrcs['strategy_img'], ENT_COMPAT, 'utf-8'); ?>" size="32">
<input type="file" id="strategy_img" name="strategy_img" size="32">
<input type="hidden" id="strategy_img" name="strategy_img" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_img'], ENT_COMPAT, 'utf-8'); ?>" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_cap:</td>
<td><input type="text" name="strategy_cap" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_cap'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_file:</td>
<td><input type="file" name="strategy_file" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_file'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_link:</td>
<td><input type="text" name="strategy_link" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_link'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Update record"></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="id" value="<?php echo $row_updatestrategyrcs['id']; ?>">
</form>
|
ประวัติการแก้ไข 2018-09-04 12:31:19 2018-09-04 12:31:27 2018-09-04 12:31:34
|
|
|
|
Date :
2018-09-04 12:30:09 |
By :
HLEW |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 14 เขียนโดย : ampere27 เมื่อวันที่ 2018-09-04 11:53:28
รายละเอียดของการตอบ ::
อะลองดูครับ ไม่ได้เทสนะ ถ้าใช้งานได้ก็ลองเปรียบเทียบกับของเก่าดู
Code (PHP)
<?php require_once('../Connections/myconnection.php'); ?>
<?php include("upload.php"); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
#--------- Get Data ----------#
$colname_updatestrategyrcs = "-1";
if (isset($_GET['strategyid'])) {
$colname_updatestrategyrcs = $_GET['strategyid'];
}
mysql_select_db($database_myconnection, $myconnection);
$query_updatestrategyrcs = sprintf("SELECT * FROM strategy WHERE id = %s", GetSQLValueString($colname_updatestrategyrcs, "int"));
$updatestrategyrcs = mysql_query($query_updatestrategyrcs, $myconnection) or die(mysql_error());
$row_updatestrategyrcs = mysql_fetch_assoc($updatestrategyrcs);
$totalRows_updatestrategyrcs = mysql_num_rows($updatestrategyrcs);
mysql_free_result($updatestrategyrcs);
#---------// End Get Data ----------#
#--------- Update Data ----------#
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
#----------แก้ไขตรงนี้----------#
$image = ! empty($_FILES['strategy_img']['name']) ? Upload($_FILES['strategy_img']) : htmlentities($row_updatestrategyrcs['strategy_img'], ENT_COMPAT, 'utf-8');
$files = ! empty($_FILES['strategy_file']['name']) ? Uploadfile($_FILES['strategy_file']) : htmlentities($row_updatestrategyrcs['strategy_file'], ENT_COMPAT, 'utf-8');
$updateSQL = sprintf("UPDATE strategy SET strategy_img=%s, strategy_cap=%s, strategy_file=%s, strategy_link=%s WHERE id=%s",
GetSQLValueString($image, "text"),
GetSQLValueString($_POST['strategy_cap'], "text"),
GetSQLValueString($files, "text"),
GetSQLValueString($_POST['strategy_link'], "text"),
GetSQLValueString($_POST['id'], "int")
);
#----------// จบแก้ไขตรงนี้ ----------#
mysql_select_db($database_myconnection, $myconnection);
$Result1 = mysql_query($updateSQL, $myconnection) or die(mysql_error());
$updateGoTo = "#";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
#---------// End Update Data ----------#
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="UTF-8">
<title>edit</title>
</head>
<body onunload="opener.location=('for_admin.php')">
<form method="post" name="form1" action="<?php echo $editFormAction; ?>" enctype="multipart/form-data">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Id:</td>
<td><?php echo $row_updatestrategyrcs['id']; ?></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_img:</td>
<td><input type="file" name="strategy_img" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_img'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_cap:</td>
<td><input type="text" name="strategy_cap" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_cap'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_file:</td>
<td><input type="file" name="strategy_file" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_file'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Strategy_link:</td>
<td><input type="text" name="strategy_link" value="<?php echo htmlentities($row_updatestrategyrcs['strategy_link'], ENT_COMPAT, 'utf-8'); ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Update record"></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="id" value="<?php echo $row_updatestrategyrcs['id']; ?>">
</form>
</body>
</html>
|
|
|
|
|
Date :
2018-09-04 13:28:31 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|