|
|
|
UPDATE ข้อมูลโดยติ้ก check box แล้ว เลือกสถานะรถจาก list menu |
|
|
|
|
|
|
|
จำไม่ค่อยได้แต่หลักการคือต้องวนรับค่าก่อน
Code (PHP)
for($i=0;$i<count($_POST["checkbox"]);$i++)
{
if($_POST["checkbox"][$i] != "")
{
$SQL = "UPDATE $tb SET (..............) WHERE check = $_POST['checkbox'][$i]
$objQuery = mysql_query($strSQL);
}
}
|
|
|
|
|
Date :
2013-05-15 14:17:30 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
error
LZHR110FF5H009844
1
Update po_detail set status = '1' where machine_id ='LZHR110FF5H009844' LZHR110FF5H009812
Update po_detail set status = '' where machine_id ='LZHR110FF5H009812'
111.php
<script language="JavaScript">
function ClickCheckAll(vol)
{
var i=1;
for(i=1;i<=document.frmMain.hdnCount.value;i++)
{
if(vol.checked == true)
{
eval("document.frmMain.chkIns"+i+".checked=true");
}
else
{
eval("document.frmMain.chkIns"+i+".checked=false");
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<form name="frmMain" action="save.php" method="post" >
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("motor");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
$strSQL = "SELECT * FROM po_detail d
INNER JOIN color c ON c.color_id = d.color
INNER JOIN brand b ON b.brand_id = d.brand
INNER JOIN type t ON t.type_id = d.type
ORDER BY d.po_id ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table style="font-size:12px; font-family:Verdana, Geneva, sans-serif;">
<tr height="60" bgcolor="#CCCCCC">
<th width="20"> <input name="CheckAll" type="checkbox" id="CheckAll" value="Y" onClick="ClickCheckAll(this);"></th>
<th width="234"> <div align="center">เลขเครื่อง </div></th>
<th width="183"> <div align="center">เลขถัง </div></th>
<th width="106"> <div align="center">ยี่ห้อ </div></th>
<th width="214"> <div align="center">รุ่น </div></th>
<th width="91"> <div align="center">สี </div></th>
<th width="109"> <div align="center">ราคา (บาท)</div></th>
<th width="109"> <div align="center">สถานะ</div></th>
<th width="109"> <div align="center">หมายเหตุ</div></th>
</tr>
<?
$i = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$i++;
$status = $objResult["status"];
?>
<tr>
<td><input type="checkbox" name="chkIns[]" id="chkIns<?=$i;?>" value="<?=$objResult["machine_id"];?>"></td>
<td><?=$objResult["machine_id"];?></td>
<td><?=$objResult["chassis_id"];?></td>
<td><?=$objResult["brand_name"];?></td>
<td><?=$objResult["type_name"];?></td>
<td><?=$objResult["color_name"];?></td>
<td align="center"><?=number_format($objResult["buy"], 2, '.', ',');?></td>
<td align="center"><b>
<?
if($status == "0")
{
echo "ยังไม่บันทึกสถานะ";
}else
if($status == "1")
{
echo "มีรถ";
}else
if($status == "2")
{
?> <font color="#FF0000">ไม่มีรถ</font>
<?
}
?>
</b></td>
</tr>
<?
}
?>
</table>
<div style="background-color: #999">
<select name="txtstatus[]" id="txtstatus<?=$i;?>">
<option value="1">มีรถ</option>
<option value="2">ไม่มีรถ</option>
</select>
<input type="submit" value="เปลี่ยนสถานะ">
</div>
<input type="hidden" name="hdnCount" value="<?=$i;?>">
</form>
save.php
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("motor");
for($i=0;$i<count($_POST["chkIns"]);$i++)
{
echo $_POST["chkIns"][$i];
echo "<br>";
echo $_POST["txtstatus"][$i];
echo "<br>";
$strSQL = "Update po_detail set status = '".$txtstatus[$i]."' where machine_id ='".$_POST["chkIns"][$i]."' ";
$objQuery = mysql_query($strSQL);
echo $strSQL;
}
mysql_close($objConnect);
?>
</body>
</html>
|
|
|
|
|
Date :
2013-05-15 14:40:44 |
By :
lookpla26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองใช้
Code (PHP)
foreach($_POST["chkIns"] as $machineId){
//Query
}
แต่ value ของ checkbox ต้องเก็บ เลขเครื่อง(ที่ไม่ซ้ำ) นะครับ
|
ประวัติการแก้ไข 2013-05-15 14:46:01
|
|
|
|
Date :
2013-05-15 14:45:41 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.คงต้องเช็ก ก่อนว่า checkbox ตัวไหนที่มีค่าเป็น true
1.2 เช็กว่า ค่าที่ติ้กมีค่ามากกว่า 1 หรือน้อยกว่า 0 หรือป่าว
2.จากนั้นก็ดึงค่าไอดีจากใน checkbox
3.ก็ทำการดึงข้อมูลที่เราเลือกไปอัพเดทลงฐานข้อมูล
|
|
|
|
|
Date :
2013-05-15 14:46:25 |
By :
bankza009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ติ้ก checkbox หลายอัน
แต่มันเก็บได้ค่าเดียวอ้ะค้ะ
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("motor");
for($i=0;$i<count($_POST["chkIns"]);$i++)
{
echo $_POST["chkIns"][$i];
echo "<br>";
echo $_POST["txtstatus"][$i];
echo "<br>";
$strSQL = "Update po_detail set status = '".$txtstatus[$i]."' where machine_id ='".$_POST["chkIns"][$i]."' ";
$objQuery = mysql_query($strSQL);
}
echo "<meta http-equiv='refresh' content='0; url=111.php'>";
mysql_close($objConnect);
?>
</body>
</html>
|
|
|
|
|
Date :
2013-05-15 14:49:36 |
By :
lookpla26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองส่งค่าดูมันได้แบบนี้อ้ะค้ะ
เลขเครื่องมาครบ แต่สถานะรถมาแค่ recore เดียว
machine_id :: LZHR110FF5H009851
status :: 1
machine_id :: LZHR110FF5H009844
status ::
machine_id :: LZHR110FF5H009812
status ::
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("motor");
foreach($_POST["chkIns"] as $key=>$machineId)
{
echo "machine_id :: " ,$_POST["chkIns"][$key];
echo "<br>";
echo "status :: " ,$_POST["txtstatus"][$key];
echo "<br>";
/* $strSQL = "Update po_detail set status = '".$txtstatus[$i]."' where machine_id ='".$_POST["chkIns"][$i]."' ";
$objQuery = mysql_query($strSQL);
*/
}
mysql_close($objConnect);
?>
</body>
</html>
|
|
|
|
|
Date :
2013-05-15 14:59:24 |
By :
lookpla26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$txtstatus[$i] เอามาวนด้วยเหรอ มันเช็คแค่ค่า ที่เราติ๊ก ค่านี้ คุณจะทำอะไรคับ
|
|
|
|
|
Date :
2013-05-15 15:02:23 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องการบันทึกสถานะรถแต่ละคันว่า มีรถ หรือ ไม่มีรถ น่ะค่ะ โดยติ้ก check box
หลังจากนั้น ให้มาเลือกสถานะรถ ว่า มี หรือไม่มี ที่ list menu ด้านล่าง
แล้วก็กด เปลี่ยนสถานะรถ เพื่อบันทุกลงฐานข้อมูล
|
|
|
|
|
Date :
2013-05-15 15:05:02 |
By :
lookpla26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ สถานะรถ มาแค่ record เดียว ก็เพราะเราเลือกครั้งเดียวน่ะครับ
เพราะการเลือกแบบนี้หมายถึง ให้เลขเครื่องทีเลือก เท่ากับ 1 ทั้งหมด
ดังนั้น $_POST["chkIns"][$key] ไม่ต้องเป็นอาร์เรย์ก็ได้ ไม่ต้องไว้ในลูปครับ
Code (PHP)
$status = $_POST["txtstatus"];
foreach($_POST["chkIns"] as $key=>$machineId)
{
echo "machine_id :: " ,$_POST["chkIns"][$key];
echo "<br>";
echo "status :: " ,$status;
echo "<br>";
/* $strSQL = "Update po_detail set status = '".$txtstatus[$i]."' where machine_id ='".$_POST["chkIns"][$i]."' ";
$objQuery = mysql_query($strSQL);
*/
}
ที่ select box กำหนดค่า name="txtstatus" ก็พอครับ ไม่ต้องมี [] ต่อท้าย
|
ประวัติการแก้ไข 2013-05-15 15:05:59
|
|
|
|
Date :
2013-05-15 15:05:04 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะอับเดท ค่า .$txtstatus[$i] เป็นอะไรครับ
|
|
|
|
|
Date :
2013-05-15 15:05:15 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะ
111.php
<script language="JavaScript">
function ClickCheckAll(vol)
{
var i=1;
for(i=1;i<=document.frmMain.hdnCount.value;i++)
{
if(vol.checked == true)
{
eval("document.frmMain.chkIns"+i+".checked=true");
}
else
{
eval("document.frmMain.chkIns"+i+".checked=false");
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<form name="frmMain" action="save.php" method="post" >
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("motor");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
$strSQL = "SELECT * FROM po_detail d
INNER JOIN color c ON c.color_id = d.color
INNER JOIN brand b ON b.brand_id = d.brand
INNER JOIN type t ON t.type_id = d.type
ORDER BY d.po_id ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table style="font-size:12px; font-family:Verdana, Geneva, sans-serif;">
<tr height="60" bgcolor="#CCCCCC">
<th width="20"> <input name="CheckAll" type="checkbox" id="CheckAll" value="Y" onClick="ClickCheckAll(this);"></th>
<th width="234"> <div align="center">เลขเครื่อง </div></th>
<th width="183"> <div align="center">เลขถัง </div></th>
<th width="106"> <div align="center">ยี่ห้อ </div></th>
<th width="214"> <div align="center">รุ่น </div></th>
<th width="91"> <div align="center">สี </div></th>
<th width="109"> <div align="center">ราคา (บาท)</div></th>
<th width="109"> <div align="center">สถานะ</div></th>
<th width="109"> <div align="center">หมายเหตุ</div></th>
</tr>
<?
$i = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$i++;
$status = $objResult["status"];
?>
<tr>
<td><input type="checkbox" name="chkIns[]" id="chkIns<?=$i;?>" value="<?=$objResult["machine_id"];?>"></td>
<td><?=$objResult["machine_id"];?></td>
<td><?=$objResult["chassis_id"];?></td>
<td><?=$objResult["brand_name"];?></td>
<td><?=$objResult["type_name"];?></td>
<td><?=$objResult["color_name"];?></td>
<td align="center"><?=number_format($objResult["buy"], 2, '.', ',');?></td>
<td align="center"><b>
<?
if($status == "0")
{
echo "ยังไม่บันทึกสถานะ";
}else
if($status == "1")
{
echo "มีรถ";
}else
if($status == "2")
{
?> <font color="#FF0000">ไม่มีรถ</font>
<?
}
?>
</b></td>
<td>
</td>
</tr>
<?
}
?>
<select name="txtstatus" id="txtstatus">
<option value="1">มีรถ</option>
<option value="2">ไม่มีรถ</option>
</select>
</table>
<input type="submit" value="เปลี่ยนสถานะ">
</div>
<input type="hidden" name="hdnCount" value="<?=$i;?>">
</form>
save.php
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("motor");
$status = $_POST["txtstatus"];
foreach($_POST["chkIns"] as $key=>$machineId)
{
/* echo "machine_id :: " ,$_POST["chkIns"][$key];
echo "<br>";
echo "status :: " ,$status;
echo "<br>";
*/
$strSQL = "Update po_detail set status = '".$status."' where machine_id ='".$_POST["chkIns"][$key]."' ";
$objQuery = mysql_query($strSQL);
}
mysql_close($objConnect);
?>
</body>
</html>
|
|
|
|
|
Date :
2013-05-15 15:15:02 |
By :
lookpla26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|