0

这真让我抓狂。该表正确呈现,因为列标题都是正确的,第一列是正确的,但是第二列被跳过,应该存在的数据在第三列和第四列中的第三列等等。当我看页面来源一切看起来都正确。但是当我查看 Chrome 开发者工具中的“元素”时,就会发现额外的 . 这是代码:

echo '<table id="bordered">';
                echo '<thead>';
                    echo '<tr>';
                        echo '<th></th>';
                        foreach($products as $product){
                            /*@var $product Products */
                            echo '<th>',$product->getProductName(),'</th>';
                        }
                    echo '</tr>';
                echo '</thead>';
                echo '<tbody>';
                    foreach($customers as $cust){
                        echo '<tr>';
                            echo '<td>',$cust->getCustomerName(),'<td>';
                            $prod = ForecastDisplay_db::getProductsQuantityForCustomer($cust, $products);
                            $i=0;
                            foreach($prod as $quantity){
                                $i++;
                                if($i == 1){
                                    echo '<td>First Run</td>';
                                }else{
                                    echo '<td>', $quantity['id'],'  ',$quantity['quantity'],'</td>';
                                }
                            }
                        echo '</tr>';
                    }
                echo '</tbody>';
            echo '</table>';

我添加了“第一次运行”以确保数组的第一个位置没有空值,但没有。任何人都知道为什么要跳过该列?

4

1 回答 1

3

您没有td正确关闭标签。

echo '<td>',$cust->getCustomerName(),'<td>';

应该

echo '<td>',$cust->getCustomerName(),'</td>';
于 2013-10-07T00:23:55.567 回答