ขอคำแนะนำในการนำค่าที่ได้จากการ Query ข้อมูลมาใส่ใน Dynamic Tabl
รบกวนขอคำแนะนำหน่อยครับ
ผมต้องการเขียนโปรแกรม ที่นำเอาข้อมูลจากการ Query ทั้ง 3 ครั้งมาแสดงใน Table เดียวกันครับ
ซึ่ง Table ที่ว่านี้ทั้ง row และ column ถูกกำหนดตามจำนวนของข้อมูลที่ถูก Query ขึ้นมาครับ
จากภาพ
1. ในส่วนของกรอบสีแดง(หมายเลข 1) คือ ข้อมูลที่ Query ขึ้นมาใส่ได้ถูกต้องแล้ว จาก
<?
$strSQL = "SELECT INVENTORY_ITEM_ID,SEGMENT1 AS ITEM_CODE, DESCRIPTION,UNIT_HEIGHT,UNIT_WIDTH,UNIT_LENGTH FROM MTL_SYSTEM_ITEMS_B WHERE SEGMENT1 LIKE '0902301003002007NAT%'";
$objParse = oci_parse($objConnect, $strSQL);
oci_execute ($objParse,OCI_DEFAULT);
while($objResult = oci_fetch_array($objParse, OCI_BOTH)){
$onHandCode = $objResult["INVENTORY_ITEM_ID"];
?>
<tr>
<td align="center"><?=$objResult["ITEM_CODE"];?></td>
<td align="center"><?=$objResult["DESCRIPTION"];?></td>
<td align="center"><?=$objResult["xxxxxxxxxxx"];?></td>
<td align="center"><?=$objResult["UNIT_HEIGHT"];?> x <?=$objResult["UNIT_WIDTH"];?></td>
***และเมื่อ Query เสร็จแล้วจะได้ INVENTORY_ITEM_ID เพื่อเอาไปใช้งานต่อ
2. ในส่วนของกรอบสีน้ำเงิน(หมายเลข 2)คือข้อมูลที่ Query ขึ้นมาโดยนำเอา INVENTORY_ITEM_ID มาใช้ในการ Query ข้อมูลนั้นใส่ได้ถูกต้องแล้ว(แต่ถูกไม่ทั้งหมด) จาก
<?
for($i=1; $i <= $numColumn; $i++){
$strInventory = "SELECT SUM(PRIMARY_TRANSACTION_QUANTITY) FROM MTL_ONHAND_QUANTITIES_DETAIL WHERE INVENTORY_ITEM_ID=$onHandCode";
$objParseInventory = oci_parse($objConnect, $strInventory);
oci_execute ($objParseInventory,OCI_DEFAULT);
$objResultInventory = oci_fetch_array($objParseInventory, OCI_BOTH);
echo "<td align=center>".$objResultInventory["SUM(PRIMARY_TRANSACTION_QUANTITY)"]." - yyy - zzz</td>";
}
?>
*** ส่วนที่ผิดอยู่คือ สีเหลือง(หมายเลข 4) ที่ไปเอาข้อมูลของหมายเลข 2 มาแสดงครับ
3. ในส่วนของกรอบสีขาว(หมายเลข 3) คือ ค่าที่ต้อง Query มาใส่ แต่ติดอยู่ตรงที่ว่า ไม่รู้ว่าจะเอาค่ามาใส่ได้ยังไงครับ เพราะ Table ของผมมันเป็นแบบ Dynamic ครับ
ขอคำแนะนำด้วยนะครับ ขอบคุณมากครับ
--------------- โค้ดทั้งหมดของผม ---------------
<?
$strColumn = "SELECT INVENTORY_ITEM_ID,SEGMENT1 AS ITEM_CODE, DESCRIPTION,UNIT_HEIGHT,UNIT_WIDTH,UNIT_LENGTH FROM MTL_SYSTEM_ITEMS_B WHERE SEGMENT1 LIKE '0902301003002007NAT%'";
$objParseColumn = oci_parse($objConnect, $strColumn);
oci_execute ($objParseColumn,OCI_DEFAULT);
$numColumn = oci_fetch_all($objParseColumn, $Result);
$size = ($numColumn*210)+690;
?>
<?
echo "<table width=$size border=1 cellspacing=0 cellpadding=0>";
?>
<tr>
<th width="250" bgcolor="#00FF00" scope="col">Item Code</th>
<th width="280" bgcolor="#00FF00" scope="col">Description</th>
<th width="80" bgcolor="#00FF00" scope="col">Grade</th>
<th width="80" bgcolor="#00FF00" scope="col">H x W</th>
<?
for($i=1; $i <= $numColumn; $i++){
echo "<th width=210 bgcolor=#00FF00 scope=col><p>Length = ???</p>";
echo "<p>Onhand - Reserv - Available</p></th>";
}
?>
</tr>
<?
$strSQL = "SELECT INVENTORY_ITEM_ID,SEGMENT1 AS ITEM_CODE, DESCRIPTION,UNIT_HEIGHT,UNIT_WIDTH,UNIT_LENGTH FROM MTL_SYSTEM_ITEMS_B WHERE SEGMENT1 LIKE '0902301003002007NAT%'";
$objParse = oci_parse($objConnect, $strSQL);
oci_execute ($objParse,OCI_DEFAULT);
while($objResult = oci_fetch_array($objParse, OCI_BOTH)){
$onHandCode = $objResult["INVENTORY_ITEM_ID"];
?>
<tr>
<td align="center"><?=$objResult["ITEM_CODE"];?></td>
<td align="center"><?=$objResult["DESCRIPTION"];?></td>
<td align="center"><?=$objResult["xxxxxxxxxxx"];?></td>
<td align="center"><?=$objResult["UNIT_HEIGHT"];?> x <?=$objResult["UNIT_WIDTH"];?></td>
<?
for($i=1; $i <= $numColumn; $i++){
$strInventory = "SELECT SUM(PRIMARY_TRANSACTION_QUANTITY) FROM MTL_ONHAND_QUANTITIES_DETAIL WHERE INVENTORY_ITEM_ID=$onHandCode";
$objParseInventory = oci_parse($objConnect, $strInventory);
oci_execute ($objParseInventory,OCI_DEFAULT);
$objResultInventory = oci_fetch_array($objParseInventory, OCI_BOTH);
echo "<td align=center>".$objResultInventory["SUM(PRIMARY_TRANSACTION_QUANTITY)"]." - yyy - zzz</td>";
}
?>
</tr>
<?
}
?>
<tr>
<td colspan="4" align="right">Total : </td>
<?
for($i=1; $i <= $numColumn; $i++){
echo "<td align=center>aaa - bbb - ccc</td>";
}
?>
</tr>
ผมต้องการเขียนโปรแกรม ที่นำเอาข้อมูลจากการ Query ทั้ง 3 ครั้งมาแสดงใน Table เดียวกันครับ
ซึ่ง Table ที่ว่านี้ทั้ง row และ column ถูกกำหนดตามจำนวนของข้อมูลที่ถูก Query ขึ้นมาครับ
จากภาพ
1. ในส่วนของกรอบสีแดง(หมายเลข 1) คือ ข้อมูลที่ Query ขึ้นมาใส่ได้ถูกต้องแล้ว จาก
<?
$strSQL = "SELECT INVENTORY_ITEM_ID,SEGMENT1 AS ITEM_CODE, DESCRIPTION,UNIT_HEIGHT,UNIT_WIDTH,UNIT_LENGTH FROM MTL_SYSTEM_ITEMS_B WHERE SEGMENT1 LIKE '0902301003002007NAT%'";
$objParse = oci_parse($objConnect, $strSQL);
oci_execute ($objParse,OCI_DEFAULT);
while($objResult = oci_fetch_array($objParse, OCI_BOTH)){
$onHandCode = $objResult["INVENTORY_ITEM_ID"];
?>
<tr>
<td align="center"><?=$objResult["ITEM_CODE"];?></td>
<td align="center"><?=$objResult["DESCRIPTION"];?></td>
<td align="center"><?=$objResult["xxxxxxxxxxx"];?></td>
<td align="center"><?=$objResult["UNIT_HEIGHT"];?> x <?=$objResult["UNIT_WIDTH"];?></td>
***และเมื่อ Query เสร็จแล้วจะได้ INVENTORY_ITEM_ID เพื่อเอาไปใช้งานต่อ
2. ในส่วนของกรอบสีน้ำเงิน(หมายเลข 2)คือข้อมูลที่ Query ขึ้นมาโดยนำเอา INVENTORY_ITEM_ID มาใช้ในการ Query ข้อมูลนั้นใส่ได้ถูกต้องแล้ว(แต่ถูกไม่ทั้งหมด) จาก
<?
for($i=1; $i <= $numColumn; $i++){
$strInventory = "SELECT SUM(PRIMARY_TRANSACTION_QUANTITY) FROM MTL_ONHAND_QUANTITIES_DETAIL WHERE INVENTORY_ITEM_ID=$onHandCode";
$objParseInventory = oci_parse($objConnect, $strInventory);
oci_execute ($objParseInventory,OCI_DEFAULT);
$objResultInventory = oci_fetch_array($objParseInventory, OCI_BOTH);
echo "<td align=center>".$objResultInventory["SUM(PRIMARY_TRANSACTION_QUANTITY)"]." - yyy - zzz</td>";
}
?>
*** ส่วนที่ผิดอยู่คือ สีเหลือง(หมายเลข 4) ที่ไปเอาข้อมูลของหมายเลข 2 มาแสดงครับ
3. ในส่วนของกรอบสีขาว(หมายเลข 3) คือ ค่าที่ต้อง Query มาใส่ แต่ติดอยู่ตรงที่ว่า ไม่รู้ว่าจะเอาค่ามาใส่ได้ยังไงครับ เพราะ Table ของผมมันเป็นแบบ Dynamic ครับ
ขอคำแนะนำด้วยนะครับ ขอบคุณมากครับ
--------------- โค้ดทั้งหมดของผม ---------------
<?
$strColumn = "SELECT INVENTORY_ITEM_ID,SEGMENT1 AS ITEM_CODE, DESCRIPTION,UNIT_HEIGHT,UNIT_WIDTH,UNIT_LENGTH FROM MTL_SYSTEM_ITEMS_B WHERE SEGMENT1 LIKE '0902301003002007NAT%'";
$objParseColumn = oci_parse($objConnect, $strColumn);
oci_execute ($objParseColumn,OCI_DEFAULT);
$numColumn = oci_fetch_all($objParseColumn, $Result);
$size = ($numColumn*210)+690;
?>
<?
echo "<table width=$size border=1 cellspacing=0 cellpadding=0>";
?>
<tr>
<th width="250" bgcolor="#00FF00" scope="col">Item Code</th>
<th width="280" bgcolor="#00FF00" scope="col">Description</th>
<th width="80" bgcolor="#00FF00" scope="col">Grade</th>
<th width="80" bgcolor="#00FF00" scope="col">H x W</th>
<?
for($i=1; $i <= $numColumn; $i++){
echo "<th width=210 bgcolor=#00FF00 scope=col><p>Length = ???</p>";
echo "<p>Onhand - Reserv - Available</p></th>";
}
?>
</tr>
<?
$strSQL = "SELECT INVENTORY_ITEM_ID,SEGMENT1 AS ITEM_CODE, DESCRIPTION,UNIT_HEIGHT,UNIT_WIDTH,UNIT_LENGTH FROM MTL_SYSTEM_ITEMS_B WHERE SEGMENT1 LIKE '0902301003002007NAT%'";
$objParse = oci_parse($objConnect, $strSQL);
oci_execute ($objParse,OCI_DEFAULT);
while($objResult = oci_fetch_array($objParse, OCI_BOTH)){
$onHandCode = $objResult["INVENTORY_ITEM_ID"];
?>
<tr>
<td align="center"><?=$objResult["ITEM_CODE"];?></td>
<td align="center"><?=$objResult["DESCRIPTION"];?></td>
<td align="center"><?=$objResult["xxxxxxxxxxx"];?></td>
<td align="center"><?=$objResult["UNIT_HEIGHT"];?> x <?=$objResult["UNIT_WIDTH"];?></td>
<?
for($i=1; $i <= $numColumn; $i++){
$strInventory = "SELECT SUM(PRIMARY_TRANSACTION_QUANTITY) FROM MTL_ONHAND_QUANTITIES_DETAIL WHERE INVENTORY_ITEM_ID=$onHandCode";
$objParseInventory = oci_parse($objConnect, $strInventory);
oci_execute ($objParseInventory,OCI_DEFAULT);
$objResultInventory = oci_fetch_array($objParseInventory, OCI_BOTH);
echo "<td align=center>".$objResultInventory["SUM(PRIMARY_TRANSACTION_QUANTITY)"]." - yyy - zzz</td>";
}
?>
</tr>
<?
}
?>
<tr>
<td colspan="4" align="right">Total : </td>
<?
for($i=1; $i <= $numColumn; $i++){
echo "<td align=center>aaa - bbb - ccc</td>";
}
?>
</tr>