A-AA+then

ขอคำแนะนำในการนำค่าที่ได้จากการ Query ข้อมูลมาใส่ใน Dynamic Tabl

1,104
ขอคำแนะนำในการนำค่าที่ได้จากการ 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>

0 ความคิดเห็น

^