ขอรบกวนอีกครั้งค่ะพี่ๆ คือหนูจะทำหน้าแก้ไขข้อมูลตามตัวอย่างค่ะ อยากจะแก้ไขทุก row แล้วกด update ที่ปุ่มด้านล่างปุ่มเดียวให้ update ทุก row
ขอรบกวนอีกครั้งค่ะพี่ๆ คือหนูจะทำหน้าแก้ไขข้อมูลตามตัวอย่างค่ะ อยากจะแก้ไขทุก row ที่สั่ง Sselect ขึ้นมาแล้วกด update ที่ปุ่มด้านล่างปุ่มเดียวให้ update ทุก row คือหนูจะแก้แค่ Column ของ CountryCode จาก NONE ให้เป็น OK ขอบคุณล่วงค่ะ
Code
Data.sql
CREATE TABLE `customer` (
`CustomerID` varchar(4) NOT NULL,
`Name` varchar(50) NOT NULL,
`Email` varchar(50) NOT NULL,
`CountryCode` varchar(2) NOT NULL,
`Budget` double NOT NULL,
`Used` double NOT NULL,
PRIMARY KEY (`CustomerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `customer` VALUES ('C001', 'Win Weerachai', '[email protected] ', 'NONE', 1000000, 600000);
INSERT INTO `customer` VALUES ('C002', 'John Smith', '[email protected] ', 'NONE', 2000000, 800000);
INSERT INTO `customer` VALUES ('C003', 'Jame Born', '[email protected] ', 'NONE', 3000000, 600000);
INSERT INTO `customer` VALUES ('C004', 'Chalee Angel', '[email protected] ', 'NONE', 4000000, 100000);
INSERT INTO `customer` VALUES ('C005', 'Weerachai Nukitram', '[email protected] ', 'NONE', 6000000, 0);
multiSelect.php
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<?php
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
//*** Update Condition ***//
if($_GET["Action"] == "Save")
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$strSQL = "UPDATE customer SET ";
$strSQL .="CustomerID = '".$_POST["txtCustomerID$i"]."' ";
$strSQL .=",Name = '".$_POST["txtName$i"]."' ";
$strSQL .=",Email = '".$_POST["txtEmail$i"]."' ";
$strSQL .=",CountryCode = '".$_POST["txtCountryCode$i"]."' ";
$strSQL .=",Budget = '".$_POST["txtBudget$i"]."' ";
$strSQL .=",Used = '".$_POST["txtUsed$i"]."' ";
$strSQL .="WHERE CustomerID = '".$_POST["hdnCustomerID$i"]."' ";
$objQuery = mysql_query($strSQL);
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
$strSQL = "SELECT * FROM customer ORDER BY CustomerID ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<form name="frmMain" method="post" action="multiSelect.php?Action=Save">
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
</tr>
<?php
$i =0;
while($objResult = mysql_fetch_array($objQuery))
{
$i = $i + 1;
?>
<tr>
<td><div align="center">
<input type="hidden" name="hdnCustomerID<?php echo $i;?>" size="5" value="<?php echo $objResult["CustomerID"];?>">
<input type="text" name="txtCustomerID<?php echo $i;?>" size="5" value="<?php echo $objResult["CustomerID"];?>">
</div></td>
<td><input type="text" name="txtName<?php echo $i;?>" size="20" value="<?php echo $objResult["Name"];?>"></td>
<td><input type="text" name="txtEmail<?php echo $i;?>" size="20" value="<?php echo $objResult["Email"];?>"></td>
<td><div align="center">
<select name="txtCountryCode<?php echo $i;?>">
<!-- <?php
$strSQL2 = "SELECT * FROM country ORDER BY CountryCode ASC";
$objQuery2 = mysql_query($strSQL2) or die ("Error Query [".$strSQL2."]");
while($objResult2 = mysql_fetch_array($objQuery2))
{
if($objResult["CountryCode"] == $objResult2["CountryCode"])
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?php echo $objResult2["CountryCode"];?>" <?php echo $sel;?>><?php echo $objResult2["CountryName"];?></option>
<?php
}
?> -->
<option>OK</option>
</select>
</div></td>
<td align="right"><input type="text" name="txtBudget<?php echo $i;?>" size="5" value="<?php echo $objResult["Budget"];?>"></td>
<td align="right"><input type="text" name="txtUsed<?php echo $i;?>" size="5" value="<?php echo $objResult["Used"];?>"></td>
</tr>
<?php
}
?>
</table>
<input type="submit" name="submit" value="submit">
<input type="hidden" name="hdnLine" value="<?php echo $i;?>">
</form>
<?php
mysql_close($objConnect);
?>
</body>
</html> Tag : PHP, MySQL
Date :
2018-01-02 23:48:21
By :
panthipa
View :
736
Reply :
7
เปลี่ยน name ของ input เป็น array ง่ายกว่าครับ เช่น name="txtName[]" พอตอนรับ post เพื่อ insert ก็วนลูป insert ทีละ row ก็ได้
ดูเพิ่มเติมน่ะครับ
PHP MySQL Multiple Rows Edit/Update Record
Date :
2018-01-03 10:45:17
By :
mangkunzo
Code (PHP)
<form action="url" method="post" >
<input type="checkbox" name='select_id[]' value="1"><br>
<input type="checkbox" name='select_id[]' value="2">
</form>
Code (PHP)
<?php
$id_list=array(); foreach($_POST['select_id'] as $id){ $id_list[]=$id*1; }
$sql='update table set x=\'ab\' where id in ('.implode(',',$id_list).')'
ศึกษาตัวอย่างดูครับ
ประวัติการแก้ไข 2018-01-03 12:13:08 2018-01-03 12:14:04
Date :
2018-01-03 12:12:33
By :
Chaidhanan
Date :
2018-01-05 09:05:56
By :
mr.win
อัพเดทหลายแถวได้แล้วค่ะ แต่ติดตรงจะเพิ่มเอาโค้ดค้นหาไปใช้งานร่วมกับโค้ดอัพเดทยังไงคะ คือหนูอยากจะให้ค้นหาก่อนคะยังทำไม่ได้รบกวนพี่ไช่วยหน่อยค่ะ
อันนี้ส่วนของโค้ดค้นหาค่ะ
Code (PHP)
<form name="frmSearch" method="get" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
<table width="1000" border="1" color="#">
<tr>
<th>From Date
<input name="txtKeyword" type="text" id="txtKeyword" value="<?php echo $_GET["txtKeyword"];?>">To Date
<input name="txtKeyword2" type="text" id="txtKeyword2" value="<?php echo $_GET["txtKeyword2"];?>">Company
<input name="txtKeyword3" type="text" id="txtKeyword3" value="<?php echo $_GET["txtKeyword3"];?>">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<?php
if($_GET["txtKeyword"] != "" or $_GET["txtKeyword2"] != "" or $_GET["txtKeyword3"] != "")
{
$objConnect = mysql_connect("localhost","root","03112530") or die("Error Connect to Database");
$objDB = mysql_select_db("customer");
// Search By Name or Email
$strSQL = "SELECT * FROM cus WHERE (Date between '".$_GET["txtKeyword"]."' and '".$_GET["txtKeyword2"]."' and Company LIKE '%".$_GET["txtKeyword3"]."%')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
อันนี้โค้ดอัพเดทค่ะ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<?php
$objConnect = mysql_connect("localhost","root","03112530") or die("Error Connect to Database");
$objDB = mysql_select_db("customer");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
//*** Update Condition ***//
if($_GET["Action"] == "Save")
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$strSQL = "UPDATE cus SET ";
$strSQL .="Id = '".$_POST["txtId$i"]."' ";
$strSQL .=",Company = '".$_POST["txtCompany$i"]."' ";
$strSQL .=",Code = '".$_POST["txtCode$i"]."' ";
$strSQL .=",Name_save = '".$_POST["txtName_save$i"]."' ";
$strSQL .=",Name_pro = '".$_POST["txtName_pro$i"]."' ";
$strSQL .=",Piece = '".$_POST["txtPiece$i"]."' ";
$strSQL .=",Status = '".$_POST["txtStatus$i"]."' ";
$strSQL .=",Date = '".$_POST["txtDate$i"]."' ";
$strSQL .="WHERE Id = '".$_POST["hdnId$i"]."' ";
$objQuery = mysql_query($strSQL);
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
$strSQL = "SELECT * FROM cus ORDER BY Id ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<form name="frmMain" method="post" action="multi.php?Action=Save">
<table width="900" border="1">
<tr>
<th width="91" align="center">Id </th>
<th width="91" align="center">Company </th>
<th width="91" align="center">Code </th>
<th width="91" align="center">Name_save </th>
<th width="91" align="center">Name_pro </th>
<th width="91" align="center">Piece </th>
<th width="91" align="center">Status </th>
<th width="91" align="center">Date </th>
</tr>
<?php
$i =0;
while($objResult = mysql_fetch_array($objQuery))
{
$i = $i + 1;
?>
<tr>
<td><div align="center">
<input type="hidden" name="hdnId<?php echo $i;?>" size="5" value="<?php echo $objResult["Id"];?>">
<input type="text" name="txtId<?php echo $i;?>" size="5" value="<?php echo $objResult["Id"];?>">
</div></td>
<td><input type="text" name="txtCompany<?php echo $i;?>" size="20" value="<?php echo $objResult["Company"];?>"></td>
<td><input type="text" name="txtCode<?php echo $i;?>" size="20" value="<?php echo $objResult["Code"];?>"></td>
<td><input type="text" name="txtName_save<?php echo $i;?>" size="20" value="<?php echo $objResult["Name_save"];?>"></td>
<td><input type="text" name="txtName_pro<?php echo $i;?>" size="20" value="<?php echo $objResult["Name_pro"];?>"></td>
<td><input type="text" name="txtPiece<?php echo $i;?>" size="20" value="<?php echo $objResult["Piece"];?>"></td>
<td><div align="center">
<select name="txtStatus<?php echo $i;?>">
<?php
$strSQL2 = "SELECT * FROM country ORDER BY Status ASC";
$objQuery2 = mysql_query($strSQL2) or die ("Error Query [".$strSQL2."]");
while($objResult2 = mysql_fetch_array($objQuery2))
{
if($objResult["Status"] == $objResult2["Status"])
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?php echo $objResult2["Status"];?>" <?php echo $sel;?>><?php echo $objResult2["CountryName"];?></option>
<?php
}
?>
<!--<option>OK</option>-->
</select>
</div></td>
<td align="right">
<input type="text" name="txtDate<?php echo $i;?>" size="5" value="<?php echo $objResult["Date"];?>">
</td>
</tr>
<?php
}
?>
</table>
<input type="submit" name="submit" value="submit">
<input type="hidden" name="hdnLine" value="<?php echo $i;?>">
</form>
<?php
mysql_close($objConnect);
?>
</body>
</html>
ประวัติการแก้ไข 2018-01-06 17:50:21 2018-01-06 22:08:48
Date :
2018-01-06 17:49:13
By :
panthipa
ฐานข้อมูลค่ะ
Code (SQL)
CREATE TABLE `company` (
`Id_Cus` int(11) NOT NULL,
`Name_Cum` varchar(50) NOT NULL,
`Code_Cum` varchar(6) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- dump ตาราง `company`
--
INSERT INTO `company` VALUES (1, 'A', '600001');
INSERT INTO `company` VALUES (2, 'B', '600002');
INSERT INTO `company` VALUES (3, 'C', '600003');
INSERT INTO `company` VALUES (4, 'D', '600004');
INSERT INTO `company` VALUES (5, 'E', '600005');
INSERT INTO `company` VALUES (6, 'F', '600006');
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `country`
--
CREATE TABLE `country` (
`Status` int(11) NOT NULL auto_increment,
`CountryName` varchar(50) NOT NULL,
PRIMARY KEY (`Status`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
--
-- dump ตาราง `country`
--
INSERT INTO `country` VALUES (1, 'THAILAND');
INSERT INTO `country` VALUES (2, 'LAOS');
INSERT INTO `country` VALUES (3, 'MALAYSIA');
INSERT INTO `country` VALUES (4, 'USA');
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `cus`
--
CREATE TABLE `cus` (
`Id` int(11) NOT NULL auto_increment,
`Company` varchar(50) NOT NULL,
`Code` varchar(6) NOT NULL,
`Name_save` varchar(50) NOT NULL,
`Name_pro` varchar(50) NOT NULL,
`Piece` int(11) NOT NULL,
`Status` varchar(10) NOT NULL,
`Date` date NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=14 ;
--
-- dump ตาราง `cus`
--
INSERT INTO `cus` VALUES (1, 'A', '600001', 'MMM', 'box 30*30', 20, '2', '2018-01-01');
INSERT INTO `cus` VALUES (2, 'B', '600002', 'MMM', 'box 30*30', 10, '3', '2018-01-01');
INSERT INTO `cus` VALUES (3, 'C', '600003', 'PPP', 'box 60*60', 30, '3', '2018-01-01');
INSERT INTO `cus` VALUES (4, 'D', '600004', 'PPP', 'box 60*60', 20, '4', '2018-01-02');
INSERT INTO `cus` VALUES (5, 'E', '600005', 'WWW', 'box 20*20', 15, '4', '2018-01-02');
INSERT INTO `cus` VALUES (6, 'F', '600006', 'ZZZ', 'box 20*20', 25, '2', '2018-01-02');
INSERT INTO `cus` VALUES (7, 'A', '600001', 'MMM', 'box 30*30', 40, '2', '2018-01-03');
INSERT INTO `cus` VALUES (13, 'A', '600001', 'MMM', 'box 30*30', 20, '3', '2018-01-03');
INSERT INTO `cus` VALUES (8, 'B', '600002', 'MMM', 'box 15*15', 30, '1', '2018-01-03');
INSERT INTO `cus` VALUES (9, 'C', '600003', 'PPP', 'box 25*25', 35, '1', '2018-01-04');
INSERT INTO `cus` VALUES (10, 'D', '600004', 'PPP', 'box 25*25', 15, '4', '2018-01-04');
INSERT INTO `cus` VALUES (11, 'E', '600005', 'WWW', 'box 35*35', 40, '4', '2018-01-04');
INSERT INTO `cus` VALUES (12, 'F', '600006', 'ZZZ', 'box 35*35', 20, '3', '2018-01-05');
ประวัติการแก้ไข 2018-01-06 22:05:50 2018-01-06 22:11:29
Date :
2018-01-06 17:52:47
By :
panthipa
เอา tag ภาษาครอบให้ตรงหน่อยครับ มันมีให้เลือก sql หรือ php ก็เลือกได้ครับ
เพื่อให้คนที่เขาจะช่วยก๊อปปี้มาทดลองให้ได้ง่ายๆหน่อย
Date :
2018-01-06 19:21:24
By :
Chaidhanan
รบกวนด้วยนะคะพี่ๆตอนนี้หนูยังทำไม่ได้ ขอตั้งหัวข้อกระทู้ใหม่นะคะ
ประวัติการแก้ไข 2018-01-08 22:00:31
Date :
2018-01-08 08:26:17
By :
panthipa
Load balance : Server 02