|
|
|
เพิ่มข้อมูลรายการ clone() จากการดึงข้อมูลแบบ autocomplete |
|
|
|
|
|
|
|
จากรูปนะคะ เป็น การ orderสินค้า
ถ้าเราเลือกสินค้าที่1 คือ parate size M
โดยการพิมพ์และดึงข้อมูลแบบ autocomplete ถ้าเราเลือก parate size M
ในช่อง Sid จะปรากฏว่า 1376 คือ Sidของรหัสสินค้าparate size M
แต่ถ้าต้องการ เพิ่มสินค้าใหม่ เป็น parate size SS ซึ่งผู้ใช้งานอาจจะเลือก parate size M มาก่อน
แล้วค่อยไปเปลี่ยนใน textbox จากคำว่า size M เป็น size SS
คือหลังจากกด parate size M แล้ว รหัส Sid ยังคงค้างอยู่ในช่องSid คือ 1376 *ซึ่งในที่นี่จะเป็น hidden ผู้ใช้งานแก้ไขไม่ได้*
ถ้าต้องการเช็คค่าซ้ำ ก่อนการ insert
เนื่องจากข้อมูลที่ใส่เป็นแบบ array เราจะเช็คยังไง
ถ้าข้อมูลที่ 1 เป็นข้อมูลสินค้าเก่า (parate Size M)
ข้อมูลที่ 2 เป็นข้อมูลสินค้าใหม่ (parate Size SS)
จะต้องเช็คค่าที่ post ยังไง ให้เพิ่มแต่ข้อมูลใหม่ในตาราง Stock
และเพิ่มข้อมูลสินค้าทั้ง 1และ2 ในตาราง order
ตาราง Stock ที่ใช้ดึงข้อมูล
CREATE TABLE `stock` (
`Sid` int(11) NOT NULL auto_increment,
`Scode` varchar(50) NOT NULL,
`Sname` varchar(200) NOT NULL,
`Spic` varchar(100) NOT NULL,
`Price` double NOT NULL,
`Unit` varchar(20) NOT NULL,
`flag` varchar(10) NOT NULL,
PRIMARY KEY (`Sid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1380 ;
INSERT INTO `stock` VALUES (1376, 'parate', 'size M', '', 0, 'plates', '1');
INSERT INTO `stock` VALUES (1377, 'parate', 'size L', '', 0, 'plates', '1');
INSERT INTO `stock` VALUES (1378, 'parate', 'size XL', '', 0, 'plates', '1');
ตาราง sale_order_ds
CREATE TABLE `sale_order_ds` (
`id` int(5) NOT NULL auto_increment,
`Scode` varchar(50) NOT NULL,
`Price` double NOT NULL,
`quantity` int(11) NOT NULL,
`discount` int(11) NOT NULL,
`Sacode` varchar(10) NOT NULL,
`pic` varchar(50) NOT NULL,
`more` varchar(500) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;
INSERT INTO `sale_order_ds` VALUES (9, '1376', 750, 3, 0, 'DS57/0005', '2', '');
INSERT INTO `sale_order_ds` VALUES (10, '1377', 800, 1, 0, 'DS57/0005', '2', '');
Tag : PHP
|
|
|
|
|
|
Date :
2014-12-18 15:35:22 |
By :
bsaranya |
View :
830 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะ
เอาโค้ดมาวางไว้ เผื่อเพื่อนคนไหนหาวิธีเดียวกันค่ะ
Code (PHP)
foreach($_POST["Scode"] as $index =>$sT){
$Sname = $_POST["Sname"][$index];
$sqlIn="SELECT * FROM stock WHERE Sname = '".$Sname."' AND Scode = '".$sT."'";
$qIn= mysql_query($sqlIn);
$objIn= mysql_fetch_array($qIn);
if($objIn)
{
/*ซ้ำ*/
$q = "INSERT INTO `sale_order_ds` (Scode,Price,quantity,discount,Sacode,pic,more)
VALUES ('$sT','$pT','$qT','$dT','$Sacode','$pic','$mT')";
mysql_query($q);
} else {
/*ไม่ซ้ำ*/
$sql="SELECT MAX(Sid) As maxSid FROM stock";
$query = mysql_query($sql);
while($row = mysql_fetch_array($query)){
$maxSid =$row['maxSid']+1;
}
$q = "INSERT INTO `sale_order_ds` (Scode,Price,quantity,discount,Sacode,pic,more)
VALUES ('$maxSid','$pT','$qT','$dT','$Sacode','$pic','$mT')";
mysql_query($q);
$sqlAddstock = "INSERT INTO stock (Sid,Scode,Sname,Spic,Price,Unit,flag) VALUES('$maxSid','$sT', '$Sname','','$Price','$Unit','1')";
mysql_query($sqlAddstock);
}
}
|
|
|
|
|
Date :
2014-12-18 17:22:31 |
By :
bsaranya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|