|
|
|
สอบถามเรื่องการ Select ข้อมูลมาจาก Database เพื่อมา Insert แบบ Multi Record ครับ |
|
|
|
|
|
|
|
คือผมทำการเลือก PO หลายรายการเพื่อที่จะส่งไปใน 1 Invoice แล้วผมใส่ชื่อ Textbox เป็นขื่อตามด้วน$a ซึ่งมาจาก While Loop
แล้ว Type ผมกำหนดเป็น Hidden ครับ แต่พอจะนำมาวน Loop เพื่อจะแสดงผลดูปรากฎว่า มันไม่ออกครับ ทั้ง ๆ ที่ ตัวที่จะใช้ For Loop แสดงผลผมส่งค่า POST มากจาหหน้าที่ Select ข้างต้น งงมาเลยครับ
Code ครับ
Code (PHP)
<?
include("DB-config.php");
for($i=0;$i<count($_POST["chkUp"]);$i++)
{
if($_POST["chkUp"][$i] != "")
{
$strSQL = "SELECT * FROM tbPO ";
$strSQL .=" WHERE Vendor='".substr($_POST["chkUp"][$i],0,7)."' AND PO='".substr($_POST["chkUp"][$i],7,7)."' AND Line='".substr($_POST["chkUp"][$i],14,2)."' ORDER BY Vendor ASC";
$objQuery = mysql_query($strSQL);
$a=0;
while($rows = mysql_fetch_array($objQuery))
{
$a++;
$Vendor = $rows[Vendor];
$Order_Date = $rows[Order_Date];
$PO = $rows[PO];
$Line = $rows[Line];
$Seq = $rows[Seq];
$Item = $rows[Item];
$Description = $rows[Description];
$Qty_Order = $rows[Qty_Order];
$Unit = $rows[Unit];
$Unit_Cost = $rows[Unit_Cost];
$Amount = $rows[Amount];
$Due_Date = $rows[Due_Date];
$Del_No = $rows[Del_No];
$Loc = $rows[Loc];
$InChange = $rows[InChange];
$Firm = $rows[Firm];
?>
<tr>
<td height="23" bgcolor="#E9E9E9" class="Body_Black"><div align="left"><input type="hidden" name="hdnVendor<?=$a;?>" size="5" value="<?=$rows["Vendor"];?>"><? if($Vendor<>""){ echo "$Vendor"; }else{ echo "$Vendor1"; };?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="left"><? if($Order_Date<>""){ echo "$Order_Date"; }else{ echo "$Order_Date1"; };?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="left"><input type="hidden" name="hdnPO<?=$a;?>" size="5" value="<?=$rows["PO"];?>"><? echo "$PO";?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="center"><input type="hidden" name="hdnLine<?=$a;?>" size="5" value="<?=$rows["Line"];?>"/><? echo "$Line";?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="center"><input type="hidden" name="hdnSeq<?=$a;?>" size="3" value="<?=$rows["Seq"];?>" /><? echo "$Seq";?></div></td>
<td height="25" bgcolor="#E9E9E9" class="Body_Black"><div align="left"><input type="hidden" name="hdnPartNo<?=$a;?>" size="10" value="<?=$rows["Item"];?>" /><? echo "$Item";?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="left"><? echo "$Description";?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="center" class="Header_Browse_Body">
<? if($n=="1"){ echo "$Qty_Order"; }else{?>
<input type="hidden" name="hdnQty<?=$a;?>" id="txtQty" value="<?=$rows["Qty_Order"];?>" /><input name="txtQty[]" type="text" id="txtQty<?=$a;?>" value="<? echo "$Qty_Order";?>" size="3" onkeyup="alertDataCal()" class="mytextbox"/><? };?>
</div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="center"><? echo "$Unit";?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="center"><? if($n=="1"){ echo number_format($Unit_Cost, 2); }else{ ?><input name="txtCost[]" type="text" id="txtCost<?=$a;?>" value="<? echo number_format($Unit_Cost, 2);?>" size="3" onkeyup="alertDataCal()" readonly="true"/><? }; ?>
</div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="center"><? if($n=="1"){ echo number_format($Amount, 2); }else{ ?><input type="hidden" name="hdnAmount<?=$a;?>" size="5" value="<?=$rows["Amount"];?>"><input type="text" name="txtAmount[]" id="txtAmount[]" value="<? echo number_format($Amount, 2);?>" size="5" readonly="true" /><? };?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="center"><? echo "$Due_Date";?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="left"><? echo "$Del_No";?></div></td>
<td bgcolor="#E9E9E9" class="Body_Black"><div align="center" class="Header_Browse_Body">
<? if($Firm='2'){
echo "OK";
}else{
echo "Not confirm";
}
?>
<input type="hidden" name="hdnLineSent" id="hdnLineSent" value="<?=$a;?>"></div> </td>
</tr>
<?php
}
}
};
?>
Tag : PHP, MySQL, Windows, Linux
|
|
|
|
|
|
Date :
2013-08-10 10:02:03 |
By :
TotEcom |
View :
1271 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูว่า query ถูกต้องป่าว แล้วค่อยทำขั้นตอนต่อไป
Code (PHP)
<?
for($i=0;$i<count($_POST["chkUp"]);$i++){
if($_POST["chkUp"][$i] != ""){
$strSQL = "SELECT * FROM tbPO ";
$strSQL .=" WHERE Vendor='".substr($_POST["chkUp"][$i],0,7)."' AND PO='".substr($_POST["chkUp"][$i],7,7)."' ";
$strSQL .="AND Line='".substr($_POST["chkUp"][$i],14,2)."' ORDER BY Vendor ASC";
echo $strSQL,"<br>";
}
}
?>
|
|
|
|
|
Date :
2013-08-10 11:04:19 |
By :
Krungsri |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ออกครับคุณ Krungsri ข้อมูลครับ
|
|
|
|
|
Date :
2013-08-10 11:17:14 |
By :
TotEcom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วใช่ป่ะคับ
|
|
|
|
|
Date :
2013-08-10 11:33:02 |
By :
Krungsri |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังเลยครับ คือมันส่งค่าไป Insert ไม่ได้ครับผมไม่แน่ใจว่า Code ที่ ถูกหรือเปล่านะครับ คือผมส่งค่า POST ไปอีกหน้าแล้วมันไม่ไปครับ
Code (PHP)
for($i=0;$i < $_POST['txtValue'];$i++)
{
echo $_POST['hdnLineSent']."</br>";
echo $_POST['hdnVendor$i']."</br>";//ค่าไม่ออก
echo $_POST['inv_Date']."</br>";
echo $_POST['hdnPO$i']."</br>";//ค่าไม่ออก
echo $_POST['hdnLine$i']."</br>";//ค่าไม่ออก
echo $_POST['hdnSeq$i']."</br>";//ค่าไม่ออก
echo $_POST['hdnPartNo$i']."</br>";
echo $_POST['hdnQty$i']."</br>";//ค่าไม่ออก
echo $_POST['Inv_Nums']."</br>";
echo $_POST['hdnAmount$i']."</br>";//ค่าไม่ออก
}
ชื่อ Textbox ที่ใส่ $i มันจะไม่มีค่าครับ ผมงงมากเลยครับ
|
ประวัติการแก้ไข 2013-08-10 11:45:47
|
|
|
|
Date :
2013-08-10 11:43:34 |
By :
TotEcom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
echo $_POST['hdnVendor'][$i]."</br>";
|
|
|
|
|
Date :
2013-08-10 12:13:27 |
By :
Krungsri |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไม่ได้เลยครับที่ผมสงสัยคือ หน้าที่ก่อนจะส่งไปมันกำหนดถูกรือเปล่าหนะสิครับผมไม่แน่ใจเหมือนกัน ถ้าผมไม่ใส่ <?=$a; ?>ต่อท้ายค่ามันจะมาทุกตัวเลยนะครับแต่จะไม่ได้ทั้งสองแถวจะได้แต่ข้อมูลแถวสุดท้ายแถวเดียว พอใส่ <?=$a; ?> ไม่มาเลยครับ
|
|
|
|
|
Date :
2013-08-10 13:21:12 |
By :
TotEcom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับคุณ Krungsri ขอบคุณมาก ๆ นะครับที่ช่วยเหลือผมผมเปลี่ยน <?=$a;?> เป็น <?=$i;?> แล้วหน้ารับค่า echo $_POST["hdnSeq".$i]."</br>"; นะครับ แก้ตั้งนานยังไงก็ขอบคุณ มาก ๆ นะครับ
|
|
|
|
|
Date :
2013-08-10 14:26:25 |
By :
TotEcom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|