php รบกวนพี่วินหรือผู้รู้ทุกท่านครับช่วยดู insert ให้หน่อยครับ
คือผมทำเป็นcheckbox ครับ ดึงข้อมูลจากdb แล้วให้มีการเลือก checkbox ตามที่เราเลือก แต่มันติดอยู่ที่ว่าเวลาบันทึกข้อมูลที่เลือกจากcheckbox ให้บันทึกข้อมูลลงอีกตารางนึงซึ่งให้บันทึกทุกฟิลด์ของตารางที่เราดึงมาลงในอีกตารางแต่มันบันทึกไม่ลงฐานข้อมูลเลยแม้แต่ฟิลด์เดียว แล้วพอลองให้บันทึกเฉพาะฟิลด์เดียวคือชื่อ ฟิลด์ detail ให้มันบันทึกคำว่า รับ ลงไป โดยที่เราเลือกหลายรายการซึ่งบันทึกลงแต่กลับบันทึกลงแค่รายการเดียวทั้งๆที่เลือกหลายรายการ รบกวนผู้รู้ทีครับ (มือใหม่ครับ)
หน้าtest1.php
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body>
<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.รับ"+i+".checked=true");
}
else
{
eval("document.frmMain.รับ"+i+".checked=false");
}
}
}
</script>
<form name="frmMain" action="test2.php" method="post" >
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("furniture");
$strSQL = "SELECT * FROM products";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="739" border="1">
<tr>
<th width="84"> <div align="center">Pro_ID </div></th>
<th width="137"> <div align="center">Pro_Name </div></th>
<th width="73"> <div align="center">Stock</div></th>
<th width="89"> <div align="center">Cat_ID </div></th>
<th width="62"> <div align="center">User_ID </div></th>
<th width="124"> <div align="center">Date </div></th>
<th width="124"> <div align="center">
<input name="[รับ][]" type="checkbox" id="CheckAll" value="Y" onClick="ClickCheckAll(this);">
รับทั้งหมด
</div></th>
</tr>
<?
$i = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$i++;
?>
<tr>
<td><div align="center"><?=$objResult["Pro_ID"];?></div></td>
<td><div align="center"><?=$objResult["Pro_Name"];?></div></td>
<td><div align="center"><?=$objResult["Stock"];?></div></td>
<td><div align="center"><?=$objResult["Cat_ID"];?></div></td>
<td><div align="center"><?=$objResult["User_ID"];?></div></td>
<td><div align="center"><?=$objResult["Date"];?></div></td>
<td><div align="center"><input type="checkbox" name="รับ[]" id="รับ<?=$i;?>" value="<?=รับ;?>">
: รับ</div></td>
</tr>
<?
}
?>
</table>
<?
mysql_close($objConnect);
?>
<input type="submit" name="btnInsert" value="Insert">
<input type="hidden" name="hdnCount" value="<?=$i;?>">
</form>
หน้าtest2.php
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body>
<?
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("furniture");
for($i=0;$i<count($_POST["รับ"]);$i++)
{
if($_POST["รับ"][$i] != "")
{
$strSQL = "INSERT INTO productss (Pro_ID,Pro_Name,Stock,Cat_ID,User_ID,Date,detail) ";
$strSQL .="VALUES ('$objResult[Pro_ID]','$objResult[Pro_Name]','$objResult[Stock],''$objResult[Cat_ID],'$objResult[User_ID]','$objResult[Date]','".$_POST["รับ"][$i]."') ";
$objQuery = mysql_query($strSQL);
echo $strSQL;
}
}
mysql_close($objConnect);
?>
Tag : PHP, MySQL
Date :
2011-05-05 22:55:11
By :
mangrungrang
View :
730
Reply :
1
1. เปลี่ยน value checkbox เป็น $objResult["Pro_ID"];
Code (PHP)
<tr>
<td><div align="center"><?=$objResult["Pro_ID"];?></div></td>
<td><div align="center"><?=$objResult["Pro_Name"];?></div></td>
<td><div align="center"><?=$objResult["Stock"];?></div></td>
<td><div align="center"><?=$objResult["Cat_ID"];?></div></td>
<td><div align="center"><?=$objResult["User_ID"];?></div></td>
<td><div align="center"><?=$objResult["Date"];?></div></td>
<td><div align="center"><input type="checkbox" name="รับ[]" id="รับ<?=$i;?>" value="<?=$objResult["Pro_ID"];?>">
: รับ</div></td>
</tr>
2. เปลี่ยน sql การ insert จาก values เป็น select แล้วเอา Pro_ID จาก checkbox มาดึงข้อมูล จาก table หลักมา insert ลง table ใหม่
Code (PHP)
$strSQL = "INSERT INTO productss (Pro_ID,Pro_Name,Stock,Cat_ID,User_ID,Date,detail) ";
$strSQL ="select ค่าcheckbox,Pro_Name,Stock,Cat_ID,User_ID,Date,'รับ' from products where Pro_ID= ค่าcheckbox
Date :
2011-05-06 13:35:04
By :
thep
Load balance : Server 04