ผมต้องการ Update 2 ตาราง พอจะทำได้ไหมครับ ตารางหลักข้อมูลเข้าแล้ว อีกตารางข้อมูลยังไงเข้า ครับ
import_date='NOW()'
แก้เป็น
import_date=NOW()
Date :
2015-03-02 18:58:38
By :
sakuraei
ีแยกกันก็ได้ครับ แต่ ตรง where ของ tb_import
where import_id='$id_edit' "; ต้องถามวา่ $id_edit มันเป็น id ของ field ไหนครับ
เช็คให้ดีว่า ควรจะ where กับอะไรดีครับ
Date :
2015-03-02 19:04:07
By :
Chaidhanan
หน้าฟอร์ม $id_edit ไว้ที่ หน้า admin_product_edit2.php ผมใส่โค้ดไว้เป็น แบบนี้อ่ะ ครับ
Code (PHP)
$id_edit=$_GET['id_edit'];
include "../connect.php";
$id_edit=$_REQUEST["id_edit"];
$sql="select * from tb_product where id_prd='$id_edit' ";
$result=mysql_db_query($dbname,$sql);
$rs=mysql_fetch_array($result);
$id_prd=$rs['id_prd'];
$code_prd=sprintf("%05d",$id_prd);
$name_prd=$rs['name_prd'];
$detail_prd=$rs['detail_prd'];
$ref_id_type=$rs['ref_id_type'];
$price_prd=$rs['price_prd'];
//$stock_prd=$rs['stock_prd'];
$import_qty=$rs['stock_prd'];
$sql2="SELECT * FROM tb_import INNER JOIN tb_product ON tb_product.id_prd =tb_import.id_prd ";
$result2=mysql_db_query($dbname,$sql2);
$rs2=mysql_fetch_array($result2);
$import_id=$rs2['import_id'];
$import_qty2=$rs2['stock_prd'];
$id_prd2=$rs2['id_prd'];
$code_prd2=sprintf("%05d",$id_prd2);
$name_prd2=$rs2['name_prd'];
$detail_prd2=$rs2['detail_prd'];
$ref_id_type2=$rs2['ref_id_type'];
$price_prd2=$rs2['price_prd'];
$photo_prd2=$rs['photo_prd'];
if(!empty($id)){
$sql3="SELECT * FROM tb_import WHERE impord_id=$id";
$rs_import=mysql_db_query($dbname,$sql3);
if($rs_import){
$r_import=mysql_fetch_array($rs_import);
}else{
echo mysql_eror();
}
}
?>
<HTML><meta charset="utf-8"/>
<HEAD><TITLE>ร้านค้าออนไลน์ สำหรับผู้ดูแลระบบ</TITLE></HEAD>
<BODY>
<?php include "admin_menu.php"; ?>
<FORM ACTION="admin_product_edit2.php" METHOD="post" ENCTYPE="multipart/form-data">
<P><B>แก้ไขสินค้า</B></P>
<TABLE WIDTH="450" BORDER="0" CELLSPACING="1" CELLPADDING="0" bgcolor="#FFFF99" bordercolor="#333333">
<TR>
<TD>รหัสสินค้า</TD>
<TD><?=$code_prd?></TD>
</TR>
<TR>
<TD width="101">ชื่อสินค้า</TD>
<TD><INPUT TYPE="text" NAME="name" SIZE="40" VALUE="<?=$name_prd?>">* </TD>
</TR>
<TR>
<TD>ประเภทสินค้า</TD>
<TD>
<SELECT NAME="ref_id_type">
<?php
$sql="select * from tb_type";
$result=mysql_db_query($dbname,$sql);
while($rs=mysql_fetch_array($result)) {
$id_type=$rs[id_type];
$name_type=$rs[name_type];
if ($ref_id_type==$id_type) {
echo "<OPTION VALUE='$id_type' SELECTED>$name_type</OPTION>";
} else {
echo "<OPTION VALUE='$id_type' >$name_type</OPTION>";
}
}
?>
</SELECT></TD>
</TR>
<TR>
<TD>รายละเอียด</TD>
<TD><TEXTAREA NAME="detail" COLS="40" ROWS="4"><?=$detail_prd?></TEXTAREA> * </TD>
</TR>
<TR>
<TD>ราคา</TD>
<TD><INPUT TYPE="text" NAME="price" SIZE="10" VALUE="<?=$price_prd?>"> บาท * </TD>
</TR>
<TR>
<TD>จำนวน</TD>
<TD><INPUT TYPE="text" NAME="import_qty" SIZE="10" VALUE="<?=$import_qty?>"> * </TD>
</TR>
<TR>
<TD>รูปภาพ</TD>
<TD>
<?php
if ($photo_prd<>"") {
echo "<INPUT TYPE='checkbox' NAME='chkdel' VALUE='1'> ลบรูปภาพ <BR>";
echo "<A HREF='photo/$photo_prd' TARGET='_blank'>แสดงรูปภาพ</A>";
} else {
echo "<INPUT TYPE='file' NAME='fileupload' >";
echo "<INPUT TYPE='hidden' name='MAX_FILE_SIZE' value='100000'>";
}
?>
</TD>
</TR>
<TR>
<TD> </TD>
<TD>
<INPUT TYPE="submit" NAME="Submit" VALUE="Submit">
<INPUT TYPE="reset" NAME="Submit2" VALUE="Reset">
<INPUT NAME="id_edit" TYPE="hidden" VALUE="<?=$id_edit?>">
<INPUT NAME="photo_del" TYPE="hidden" VALUE="<?=$photo_prd?>">
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
Date :
2015-03-02 19:10:29
By :
yotsawin
Code (PHP)
$sql2="UPDATE tb_import SET id_prd='$id_edit',import_qty='$import_qty',import_date='NOW()' WHERE import_id='$id_edit'";
#$sql2 .= " import_qty= '".$_POST["import_qty"]."' ";
#$sql2 .="WHERE import_qty = '".$_POST["import_qty"]."' ";
$result2 = mysql_db_query($dbname,$sql2)or die ("error=$sql2");
ตรง id_prd='$id_edit' ตรงนี้เป็นการรับค่า จาก รหัสแก้ไขมา ครับ
ผมลองเอา สองบันทัดนี้ออก บันทึกได้ แค่ตารางเดียว ครับ ตาราง tb_import ไม่มาครับ
Code (PHP)
#$sql2 .= " import_qty= '".$_POST["import_qty"]."' ";
#$sql2 .="WHERE import_qty = '".$_POST["import_qty"]."' ";
Date :
2015-03-02 19:20:58
By :
yotsawin
ลองแบบนี้ครับ
<?php
include "chksession.php";
$id_edit=$_POST['id_edit'];
$name=$_POST['name'];
$ref_id_type=$_POST['ref_id_type'];
$detail=$_POST['detail'];
$price=$_POST['price'];
$import_qty=$_POST['import_qty'];
$sql1="update tb_product set
name_prd='$name',
ref_id_type='$ref_id_type',
detail_prd='$detail',
price_prd='$price',
stock_prd='$import_qty' where id_prd='$id_edit'";
$result1=mysql_db_query($dbname,$sql1) or die (mysql_error()."\n<br />error=$sql1");
$sql2="UPDATE tb_import SET id_prd='$id_edit',import_qty='$import_qty',import_date=NOW() where import_id='$id_edit'";
$result2 = mysql_db_query($dbname,$sql2) or die (mysql_error()."\n<br />error=$sql2");
if ($result1) {
echo "<H3>แก้ไข สินค้าเรียบร้อยแล้ว</H3>";
echo "[ <A HREF=edit_admin_product.php>กลับหน้าหลัก</A> ] ";
} else {
echo "<H3>ERROR : ไม่สามารถแก้ไขสินค้าได้</H3>";
}
mysql_close();
?>
ประวัติการแก้ไข 2015-03-02 19:24:56
Date :
2015-03-02 19:23:34
By :
sakuraei
ลองแก้ตามแล้ว ครับ บันทึกแค่ ตาราง tb_product ตาราง tb_import ไม่ Update ครับ
tb_product
tb_import
Date :
2015-03-02 19:33:56
By :
yotsawin
ถามก่อนครับ ว่า field id_prd ของ tb_import เป็น unique หรือเปล่าครับ
ถ้าเป็น ให้ใช้ where id_prd = '$id_edit' ครับ
ไม่ใช่ where id_import = '$id_edit'
แต่ถ้าไม่ใช่ unique ต้องเพิ่ม ฟีลด์ id_import ที่ <form> ด้วย ให้ส่งค่ามา update
where id_import = '$id_import' ไม่ใช่เอา $id_edit มาใช้เพราะมันเป็น id ของ tb_prd
Date :
2015-03-02 19:45:51
By :
Chaidhanan
เดียว ผมขอลองแก้ตามที่ บอกก่อนน่ะ ครับ
ถ้าได้ไม่ได้ยังไง เดียวผม บอกน่ะ ครับ
ตอนนี้กำลังกลับบ้านครับ ถึงบ้านเดียวแก้ตามที่บอก ครับ
Date :
2015-03-02 20:01:34
By :
yotsawin
ผมลองทำตาม ที่บอกแล้วน่ะ ครับ ได้ครับ คือผมไปเปลี่ยน เป็น unique ที่ field id_prd ของ tb_import
ขอบคุณ น่ะครับ ขอบคุณที่ให้ช่วยดูให้ ขอบคุณอีกครั้ง ครับผม
คุณ Chaidhanan & คุณ Insufficient memory
ประวัติการแก้ไข 2015-03-02 21:38:19
Date :
2015-03-02 21:37:45
By :
yotsawin
Load balance : Server 01