|
|
|
สอบถามเรื่อง update หน่อยค่ะ จะแก้ไขแบบ ให้เฉพาะอัพเดทได้เฉพาะฟิล์ด มันไม่ยอม ถ้าแก้ไขพร้อมกัน ไม่มีปัญหา |
|
|
|
|
|
|
|
ขอโทษ นะค่ะ ไม่ค่อยเคลียร์ เท่าไหร่ค่ะ
เอาใส่ต่อส่วนไหน หรือคลุมส่วนไหนค่ะ หรือแทนส่วนไหนค่ะ
|
|
|
|
|
Date :
2014-11-19 10:27:40 |
By :
nottpoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เช็ค size ของ $_FILES ครับ
ถ้า size ไม่ใช่ 0 แสดงว่ามีไฟล์ upload มาจริงๆ
Code (PHP)
<?
//Edit Record
if ($_GET["action"]=="edit_update"){
//Select Data
$sql="SELECT * FROM tb_asset WHERE as_id='$_GET[as_id]' ";
$query=mysql_query($sql)or die (mysql_error());
//echo "Select Data : $sql";
while($result=mysql_fetch_assoc($query)){
?>
<div id="content">
<span class="tl"><span class="tr"></span></span>
<form action="" method="post" name="editRecord" id="editRecord" target="" enctype="multipart/form-data">
<div class="addrecord">
<ul>
<li><div>Year </div><input name="year_txt" type="text" maxlength="4" Value="<?=$result['year'];?>"></li>
<li><div>Class </div> <input name="class_txt" type="text" maxlength="1" Value="<?=$result['class'];?>"></li>
<li style="text-indent:120px; width:1200px; text-align:left; line-height:40px;">
<?
/*Edit files Only */
if($result[files]!=""){
?>
<li style="text-indent:120px; width:1200px; text-align:left; line-height:40px;"><?=$result['files'];?>
<a href="<?=$_SERVER['PHP_SELF']?>?action=delete_files&as_id=<?=$result['as_id'];?>" onclick="return confirm('Are you sure you want to delete?')"><img src="../images/remove-icon.png"/></a></li>
<?
}else{
?>
<div>files</div><input name="files_txt" type="file" Value="" />
<? }
}//while
?>
</li>
<li style="margin-left:115px;"><input name="btnAdd" type="submit" value="Update" /></li>
</div>
</form>
<?
if (isset($_FILES['files_txt']) && $_FILES['files_txt']['size'] > 0) {
$file = strtolower($_FILES["files_txt"]["name"]);
$sizefile = $_FILES["files_txt"]["size"];
$type= strrchr($file,".");
if($sizefile>1073741824){ // Not Over 1 GB
echo "<script>alert('Over Files $sizefile/1024 (Not Over 1,073,741,824=1 GB)')</script>";
}elseif(($type==".jpg")||($type==".jpeg")||($type==".gif")||($type==".png")||($type==".pdf")||($type==".tif")||($type==".tiff")){
//$tempfile = date("Y-m-d")."-".$file;
move_uploaded_file($_FILES["files_txt"]["tmp_name"],"../files_del/".$_FILES["files_txt"]["name"]);
echo "<script>alert('$tempfile')</script>";
if(isset($_POST['date_txt'])!="") {
$objsql="UPDATE tb_asset SET year='".$_POST["year_txt"]."',class = '".$_POST["class_txt"]."' ";
$objsql .=",files ='".$_FILES["files_txt"]["name"]."' WHERE as_id='$_GET[as_id]' ";
$objquery=mysql_query($objsql) or die (mysql_error());
echo "Update :"."$objsql";
if($objquery) {
//echo"Updated.";
header("location:index.php");
exit(0);
} else {
echo"Not Update ";
}
}
}else{
/*echo "<script>alert('".$_FILES['files_txt']['name']."');</script>";*/
}
}
?>
<span class="bl"><span class="br"></span></span>
</div>
<?
}//End Edit&Update
?>
|
|
|
|
|
Date :
2014-11-19 10:47:31 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ตามแล้นะค่ะ คุณPHPinfo มันก็ยังไม่ยอม ให้อัพเดท เฉพาะ ฟิลด์
ไม่แน่ใจว่าเราเขียนโค้ดส่วนไหนผิดป่าวค่ะ
หลังจากกดรูปดินสอ
ในกรณีนี้นะค่ะ (ตามรูป) เราต้องการแก้ไขเฉพาะ ฟิล์ด
ถ้าในกรณีที่ไม่มีไฟล์ ก็ให้อัพเดทได้ทั้ง ฟิล์ด และไฟล์
หรืถ้าไม่มีไฟล์ ก็ให้สามารถแก้ได้เฉพาะฟิลด์
Code (PHP)
<?
if (isset($_FILES['files_txt']) && $_FILES['files_txt']['size'] > 0) {
$file = strtolower($_FILES["files_txt"]["name"]);
$sizefile = $_FILES["files_txt"]["size"];
$type= strrchr($file,".");
if($sizefile>1073741824){ // Not Over 1 GB
echo "<script>alert('Over Files $sizefile/1024 (Not Over 1,073,741,824=1 GB)')</script>";
}elseif(($type==".jpg")||($type==".jpeg")||($type==".gif")||($type==".png")||($type==".pdf")||($type==".tif")||($type==".tiff")){
//$tempfile = date("Y-m-d")."-".$file;
move_uploaded_file($_FILES["files_txt"]["tmp_name"],"../files_del/".$_FILES["files_txt"]["name"]);
echo "<script>alert('$_FILES[files_txt][name]')</script>";
$objsql="UPDATE tb_asset SET receiveDate='".$_POST["date_txt"]."',year='".$_POST["year_txt"]."',class = '".$_POST["class_txt"]."' ";
$objsql .=",type = '".$_POST["type_txt"]."',owner = '".$_POST["owner_txt"]."',code = '".$_POST["code_txt"]."' ";
$objsql .=",code_tcc = '".$_POST["codetcc_txt"]."',sn = '".$_POST["sn_txt"]."',des = '".$_POST["des_txt"]."' ";
$objsql .=",price = '".$_POST["price_txt"]."',po = '".$_POST["po_txt"]."',pv = '".$_POST["pv_txt"]."' ";
$objsql .=",department = '".$_POST["depart_txt"]."',occupant = '".$_POST["occu_txt"]."',place = '".$_POST["place_txt"]."' ";
$objsql .=",company = '".$_POST["comp_txt"]."',buy_from = '".$_POST["buy_txt"]."',status = '".$_POST["status_txt"]."' ";
$objsql .=",notes = '".$_POST["notes_txt"]."',files ='".$_FILES["files_txt"]["name"]."' WHERE as_id='$_GET[as_id]' ";
$objquery=mysql_query($objsql) or die (mysql_error());
//echo "Update :"."$objsql";
if($objquery){
//echo"Updated.";
header("location:index.php");
exit(0);
}else{
echo"Not Update ";
}
}else{
/*echo "<script>alert('".$_FILES['files_txt']['name']."');</script>";*/
}
}
?>
|
ประวัติการแก้ไข 2014-11-19 11:01:43 2014-11-19 11:11:13
|
|
|
|
Date :
2014-11-19 11:01:07 |
By :
nottpoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อ ขอโทษทีครับ ผมไม่ได้ดูโค้ดข้างในส่วน update
แบบนั้นต้องใช้วิธีเพิ่ม field ที่ต้องการ update เข้าไปตามเงื่อนไขครับ
ลองศึกษาโค้ดผมดูครับ
Code (PHP)
<?
//Edit Record
if ($_GET["action"]=="edit_update"){
//Select Data
$sql="SELECT * FROM tb_asset WHERE as_id='$_GET[as_id]' ";
$query=mysql_query($sql)or die (mysql_error());
//echo "Select Data : $sql";
while($result=mysql_fetch_assoc($query)){
?>
<div id="content">
<span class="tl"><span class="tr"></span></span>
<form action="" method="post" name="editRecord" id="editRecord" target="" enctype="multipart/form-data">
<div class="addrecord">
<ul>
<li><div>Year </div><input name="year_txt" type="text" maxlength="4" Value="<?=$result['year'];?>"></li>
<li><div>Class </div> <input name="class_txt" type="text" maxlength="1" Value="<?=$result['class'];?>"></li>
<li style="text-indent:120px; width:1200px; text-align:left; line-height:40px;">
<?
/*Edit files Only */
if($result[files]!=""){
?>
<li style="text-indent:120px; width:1200px; text-align:left; line-height:40px;"><?=$result['files'];?>
<a href="<?=$_SERVER['PHP_SELF']?>?action=delete_files&as_id=<?=$result['as_id'];?>" onclick="return confirm('Are you sure you want to delete?')"><img src="../images/remove-icon.png"/></a></li>
<?
}else{
?>
<div>files</div><input name="files_txt" type="file" Value="" />
<? }
}//while
?>
</li>
<li style="margin-left:115px;"><input name="btnAdd" type="submit" value="Update" /></li>
</div>
</form>
<?
$updating_fields = array();
if(isset($_POST['date_txt'])!="") {
$updating_fields['year'] = $_POST['year_txt'];
$updating_fields['class'] = $_POST['class_txt'];
}
if ($_FILES['files_txt']['size']) {
$file = strtolower($_FILES["files_txt"]["name"]);
$sizefile = $_FILES["files_txt"]["size"];
$type= strrchr($file,".");
if($sizefile>1073741824){ // Not Over 1 GB
echo "<script>alert('Over Files $sizefile/1024 (Not Over 1,073,741,824=1 GB)')</script>";
}elseif(($type==".jpg")||($type==".jpeg")||($type==".gif")||($type==".png")||($type==".pdf")||($type==".tif")||($type==".tiff")){
//$tempfile = date("Y-m-d")."-".$file;
move_uploaded_file($_FILES["files_txt"]["tmp_name"],"../files_del/".$_FILES["files_txt"]["name"]);
echo "<script>alert('$tempfile')</script>";
$updating_fields['file'] = $_FILES['files_txt']['name'];
/*
if(isset($_POST['date_txt'])!="") {
$objsql="UPDATE tb_asset SET year='".$_POST["year_txt"]."',class = '".$_POST["class_txt"]."' ";
$objsql .=",files ='".$_FILES["files_txt"]["name"]."' WHERE as_id='$_GET[as_id]' ";
$objquery=mysql_query($objsql) or die (mysql_error());
echo "Update :"."$objsql";
if($objquery) {
//echo"Updated.";
header("location:index.php");
exit(0);
} else {
echo"Not Update ";
}
}
*/
}else{
/*echo "<script>alert('".$_FILES['files_txt']['name']."');</script>";*/
}
}
if ($updating_fields) {
$set_sql = array();
foreach ($updating_fields as $name => $value) {
$set_sql[] = "`{$name}` = '" . mysql_real_escape_string($value) . "'";
}
$objsql = sprintf(
"UPDATE `tb_asset` SET %s WHERE `as_id` = '%s'",
implode(', ', $set_sql),
mysql_real_escape_string($_GET['as_id'])
);
mysql_query($objsql) or die (mysql_error());
echo "Update : {$objsql}";
header("location:index.php");
exit(0);
} else {
echo "Not Update ";
}
?>
<span class="bl"><span class="br"></span></span>
</div>
<?
}//End Edit&Update
?>
|
|
|
|
|
Date :
2014-11-19 11:35:28 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นี่แหละค่ะ คือสิ่งที่ต้องการ ขอบคุณ คุณ phpinfo() มากๆ นะค่ะ
อยากจะบอกว่า คุณเก่งมากๆ ค่ะ
|
|
|
|
|
Date :
2014-11-19 12:44:56 |
By :
nottpoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เรื่อง อัพเดท จบแล้วนะค่ะ ขอถามต่ออีกนิดนึ่ง ซึ่งมันเป็นโค้ดตัวเดียวกัน
คืออยากจะรับค่า year ต่อไปเรื่อย ๆ ค่ะ แบบให้มันเพิ่มมาทีละ 1 ปี เมื่อจบปีแล้ว
เช่น ปี 2557 เมื่อจบปี แล้ว จะขึ้นปี 2558 เอง ดึงออกแสดงเอง เมื่อมีการเพิ่มข้อมูลปี 2558 หนะค่ะ
ตอนนี้ เราเขียนแบบโง่ ๆ อยู่อะ แต่มันไม่ตรงใจ แบบที่อยากได้ เราอยากให้มัน dynamic กว่านี้อะคะ
Code (PHP)
<ol>
<li>ปี 2556</li>
</ol>
<ol>
<?
$sql="SELECT * FROM tb_company WHERE year_company='2556' ";
$query=mysql_query($sql) or die (mysql_error());
//echo $sql;
while($result=mysql_fetch_assoc($query)){
?>
<li><a href="select_asset.php?select=<?=$result["code_company"];?>&year_as=<?=$result["year_company"];?>&company=<?=$result["name_company"];?>"><?=strtoupper($result["code_company"]);?></a>,</li>
<? }?>
</ol>
<ol>
<li>ปี 2557</li>
</ol>
<ol>
<?
$sql="SELECT * FROM tb_company WHERE year_company='2557' ";
$query=mysql_query($sql) or die (mysql_error());
//echo $sql;
while($result=mysql_fetch_assoc($query)){
?>
<li><a href="select_asset.php?select=<?=$result["code_company"];?>&year_as=<?=$result["year_company"];?>&company=<?=$result["name_company"];?>"><?=strtoupper($result["code_company"]);?></a>,</li>
<? }?>
</ol>
<ol>
<li>ปี 2558</li>
</ol>
<ol>
<?
$sql="SELECT * FROM tb_company WHERE year_company='2558' ";
$query=mysql_query($sql) or die (mysql_error());
//echo $sql;
while($result=mysql_fetch_assoc($query)){
?>
<li><a href="select_asset.php?select=<?=$result["code_company"];?>&year_as=<?=$result["year_company"];?>&company=<?=$result["name_company"];?>"><?=strtoupper($result["code_company"]);?></a>,</li>
<? }?>
</ol>
|
|
|
|
|
Date :
2014-11-19 12:49:26 |
By :
nottpoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในแต่ละกัน insert หรือ update ให้ใส่ปีลงไว้ในฟิลด์ครับ หรือทำช่องฟิลด์ สำหรับเก็บค่าปีเอาไว้ก็ได้ครับ เวลาดึงก็ใช้โค๊ดที่คุณใช้อยู่ ลูปเอาครับ โดย where year='date("Y")' ประมาณนี้ครับ ข้อมูลมันจะดึงปีปัจจุบันมาให้เท่านั้นครับ
|
|
|
|
|
Date :
2014-11-19 13:03:56 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT ทั้งหมดออกมาโดย ORDER BY year_company จับใส่ array โดยให้ year_company เป็นคีย์ แล้วค่อย foreach ออกมาแสดงผลทีเดียวครับ
Code (PHP)
sql="SELECT * FROM tb_company ORDER BY year_company";
$query=mysql_query($sql) or die (mysql_error());
$rows_by_year = array();
while($result = mysql_fetch_assoc($query)) {
$rows_by_year[$result['year_company']][] = $result;
}
foreach ($rows_by_year as $year => $rows) {
?>
<ol>
<li>ปี <?php echo $year; ?></li>
</ol>
<ol>
<?php
foreach ($rows as $result) {
?>
<li><a href="select_asset.php?select=<?=$result["code_company"];?>&year_as=<?=$result["year_company"];?>&company=<?=$result["name_company"];?>"><?=strtoupper($result["code_company"]);?></a>,</li>
<?php
}
?>
</ol>
<?php
}
|
|
|
|
|
Date :
2014-11-19 13:06:41 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณทุกท่าน มากค่ะ สำหรับความช่วยเหลือ
โปรเจ็คนี้ จบแล้วค่ะ
|
|
|
|
|
Date :
2014-11-19 14:36:46 |
By :
nottpoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|