2012-12-13 27 views
1

所需顯示 enter image description here如何消除環路或任何其他方法行獲得diplay如下

這裏我的代碼,並顯示

<table width="100%" cellspacing="0" cellpadding="0" summary="" id="box-table-a"> 
     <thead> 
      <tr> 
      <th width="" scope="col"><strong>Item Description</strong></th> 
      <th scope="col" style="text-align:center;"><strong>Quantity</strong></th> 
      <th width="350" scope="col"><strong>Supplier Name</strong></th> 
      <th scope="col" style="text-align:center;"><strong>Unit Price Rs.</strong></th> 
      <th scope="col" style="text-align:center;"><strong>VAT Price Rs.</strong></th> 
      <th width="100" scope="col"><strong>Total Price Rs.</strong></th> 
      </tr> 
     </thead> 
     <tbody> 

      <?php 


      $get_data =mysql_query("SELECT supplier_add_quotaion_form.quotaion_request_id,supplier_add_quotaion_form.supplier_id,supplier_add_quotaion_form.supplier_add_quotaion_id,supplier_add_quotaion_request_item.* FROM supplier_add_quotaion_request_item,supplier_add_quotaion_form 
WHERE supplier_add_quotaion_form.supplier_add_quotaion_id=supplier_add_quotaion_request_item.supplier_add_quotaion_id AND supplier_add_quotaion_form.quotaion_request_id='$id' ORDER BY quotation_item_id"); 


      while($row = mysql_fetch_array($get_data)){ 
       $quotaion_request_id = $row['quotaion_request_id']; 
       $supplier_add_quotaion_id = $row['supplier_add_quotaion_id']; 
       $supplier_id = $row['supplier_id']; 
       $net_item_value = $row['net_item_value']; 
       $vat_item_value = $row['vat_item_value']; 
       $total_value = $row['total_value']; 
       $quotation_item_id = $row['quotation_item_id']; 


       $get_count = mysql_query("SELECT quotation_item_id FROM supplier_add_quotaion_request_item WHERE quotation_item_id='$quotation_item_id'"); 

       $count = mysql_num_rows($get_count); 


       $get_quantity = mysql_query("SELECT quantity_required,item_description FROM clerk_add_quotaion_request_item WHERE quotation_item_id='$quotation_item_id'"); 

        while($rowB = mysql_fetch_array($get_quantity)){ 
         $quantity_required = $rowB['quantity_required']; 
         $item_description = $rowB['item_description']; 
        } 



      ?> 

      <tr> 
      <td><?php echo $item_description; ?></td> 
      <td align="center"><?php echo $quantity_required; ?></td> 
      <td><?php echo $supplier_id; ?></td> 
      <td align="center"><?php echo $net_item_value; ?></td> 
      <td align="center"><?php echo $vat_item_value; ?></td> 
      <td align="center"><?php echo $total_value; ?></td> 
      </tr> 

      <?php 
      } 
     ?> 
     </tbody> 

enter image description here

  • 當重複描述需要對它們進行劃分或者需要什麼方法顯示爲第一個圖像顯示..我嘗試它得到計數,然後rowspan根據it.but無法得到需要顯示,不知道如何刪除額外的單元格
  • 重複的行數不固定,只有示例顯示第一圖像,也可以是1-7範圍重複一個描述(對於一個項目7級的供應商能夠出價)

supplier_add_quotaion_form表結構

supplier_add_quotaion_request_item

supplier_add_quotaion_request_item表結構

supplier_add_quotaion_form table structure

clerk_add_quotaion_request_item結構

enter image description here

+1

[**請不要使用'mysql_ * '在新代碼**中的功能](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

回答

0

您可以一次做到這一點,試試這個

<?php 
      $get_data =mysql_query("..."); 

      $last_quotaion_request_id = -1; 
      while($row = mysql_fetch_array($get_data)){ 
       $quotaion_request_id = $row['quotaion_request_id']; 
       $supplier_add_quotaion_id = $row['supplier_add_quotaion_id']; 
       $supplier_id = $row['supplier_id']; 
       $net_item_value = $row['net_item_value']; 
       $vat_item_value = $row['vat_item_value']; 
       $total_value = $row['total_value']; 
       $quotation_item_id = $row['quotation_item_id']; 


       $get_count = mysql_query("SELECT quotation_item_id FROM supplier_add_quotaion_request_item WHERE quotation_item_id='$quotation_item_id'"); 

       $count = mysql_num_rows($get_count); 


       $get_quantity = mysql_query("SELECT quantity_required,item_description FROM clerk_add_quotaion_request_item WHERE quotation_item_id='$quotation_item_id'"); 

        while($rowB = mysql_fetch_array($get_quantity)){ 
         $quantity_required = $rowB['quantity_required']; 
         $item_description = $rowB['item_description']; 
        } 



      ?> 

      <tr> 
      <?php if($last_quotaion_request_id != $quotaion_request_id){ ?> 
      <td rowspan="<?php echo $count; ?>"><?php echo $item_description; ?></td> 
      <td rowspan="<?php echo $count; ?>" align="center"><?php echo $quantity_required; ?></td> 
      <?php } ?> 
      <td><?php echo $supplier_id; ?></td> 
      <td align="center"><?php echo $net_item_value; ?></td> 
      <td align="center"><?php echo $vat_item_value; ?></td> 
      <td align="center"><?php echo $total_value; ?></td> 
      </tr> 

      <?php 
      $last_quotaion_request_id = $quotaion_request_id; 
      } 
     ?> 
+0

應用您的代碼,但得到錯誤 注意:使用未定義的常量last_quotaion_request_id - 假設'last_quotaion_request_id'在 –

+0

現在試試,美元符號丟失。 –

+0

仍然有同樣的問題朋友:( –

0

它很可能會容易得多啜查詢結果成一個結構數組,從中你可以很容易檢索必要的計數做你的rowspans:

$data = array(); 
while ($row = mysql_fetch_assoc($result)) { 
    $data[$row['item_description']][] = $row; 
} 

echo "start your table here"; 
foreach($data as $description => $items) { 
    echo "<tr><td rowspan=" . count($items) . ">"; 
    foreach($items as $item) { 
     output item data here 
    } 
} 

這不會按原樣工作,但應該給你是如何去做的一個想法。

+0

你能解釋一下嗎? 哪些查詢結果獲得$ data和$結果 謝謝 –

0

您需要更改您正在使用的表的結構。根據我的猜測我提出了一個建議。將項目描述保留在表格中,並將報價細節保存在另一個表格中。同時提取可以使用sql命令組獲取的數據。

您的項目表可能是這樣的:

1. id 
2. desc 
3. clicks 

和報價表可能是這樣

1. id 
2. item_id 
3. supplier 
4. quantity 
5. vat 
6. price 

相關問題