Bir tablo, tablo içinde tablo son hariç outputted

1 Cevap php

Ben her satırda belli olması gereken bir envanter tablo var, ve sonra her satırda son sütununda, ben döngü üzerinden belirli bir envanter güncellemesi yani başına kullanılan her öğeyi istiyorum

bir satır customerName için bir sütun, envanter işlem, işlemin türü, özel teknisyen ve güncellemede kullanılan bazı ürünler için son sütunun biri tarih için bir sütun olurdu. ne var şimdiye kadar ince ilk 4 sütun üzerinden döngüler, ancak son sütun sadece ilk satır için oluşturulan alır. kodu:

<table style="width:92%;">
              <tr style="font-size:14px;">
                <th style="width:150px;">Customer</th>
                <th style="width:110px;">Date</th>
                <th style="width:140px;">Tech</th>
                <th style="width:50px;text-align:center;">Type</th>
                <th>Equipment</th>
              </tr>
              <?php
    			$pd_name = array();
    			$compArray = array();
    			$prevCompany = '';
    			$count = 0;
    			$select = mysql_query("SELECT pd_name, pd_col_name, company FROM item_inventory ORDER BY company ");
    			while($row = mysql_fetch_array($select)){
    				$pd_name[$row['pd_col_name']] = $row['pd_name'];
    				$compArray[$row['pd_col_name']] = $row['company'];
    			}

    			$select2 = mysql_query("SELECT * FROM tech_inventory WHERE date >= '$date%' ORDER BY date DESC ");
    			while($row2 = mysql_fetch_array($select2)){ 
    				$count = 0;
    				$prevCompany = '';
    			?>
              <tr>
                <td><?php echo htmlspecialchars($row2['customerName']); ?></td>
                <td><?php echo $row2['date']; ?></td>
                <td><?php echo $row2['tech']; ?></td>
                <td style="text-align:center;"><?php echo $row2['type']; ?></td>
                <td>
    				<table width="200">
                        <?php
    						while (list($key, $val) = each($pd_name)){
    							if($row2[$key] != 0){
    								if($prevCompany != $compArray[$key]){
    						?>
                                        <tr>
                                            <td style="text-align:center;"><?php echo $compArray[$key]; ?></td>
                                        </tr>
    						<?php
    									$prevCompany = $compArray[$key];
    								}
    						?>
                                	<tr>
                                        <td><?php echo $val ?></td>
                                        <td><?php echo $row2[$key]; ?></td>
                                    </tr>
                            <?php
    								$count++;
    							}
    						}
                        ?>
                    </table>
                </td>
            </tr>
            <tr><td><?php echo $count; ?></td></tr>
            <?php   } ?>
            </table>

1 Cevap

Bu yapmanız gereken budur:

reset($pd_name);
while (list($key, $val) = each($pd_name))

Sorun sonuna ulaştığında each adımlar dizi boyunca ve herhangi bir ileri gitmeyecek oldu. Bu nedenle, başından her zaman dizi işaretçi sıfırlamak zorunda.