2013-10-23 143 views
0

我面临着一个非常简单的任务,但由于某种原因解决方案无法正常工作,可能是因为我的PHP不好。在PHP中创建动态表格

我有一张表,它有一个横跨4列的标题。在第一列中,它将是静态数据(也就是头部可以这么说,但只在第一列中)。我需要的是根据返回的结果填充第二列等。我建立一个表,当一个产品相比,它将填充柱与产品相关的

<table id="price-compare" class="device-compare" border="1"> 
<caption>Price</caption> 
<?php 
$rows = 3; 
$cols = 4; 

for($tr=1;$tr<=$rows;$tr++){ 
    echo "<tr>"; 

      for($td=1;$td<=$cols;$td++){ 
      echo "<td>row: ".$tr." column: ".$td."</td>"; 
     } 
    echo "</tr>"; 
} 
?> 

<tr> 
    <td class="left-header"><?php echo $phones->field('name'); ?></td> 
    <td><sup>$</sup><?php echo $phones_retail; ?></td> 
</tr> 
<tr> 
    <td class="left-header">Fuel Price</td> 
    <td><sup>$</sup><?php echo $phones_retail; ?></td> 
</tr> 
<tr> 
    <td class="left-header">2-yr Contract Price</td> 
    <td style="font-weight: bold; color:#1b75bb;"><sup>$</sup><?php echo $phones_contract; ?></td> 
</tr> 
</table> 

Table Screenshot

所以你可以看到,我需要的第一列保持不变和信息将与产品相关的数据添加到后续列。

+0

会不会是我不明白你的问题的权利,但你想要做的是空的第一列?只需在第二个循环中放置一个if子句并检查它是否是第一列。这不可能是你的问题,我是对的吗? D: – lexith

+0

不是空的,我希望第一列是静态数据,如果您愿意,可以使用硬编码的词,然后如果我点击产品,我希望所有与其相关的信息(我在后端都有)相应地填充所有行然后如果我点击另一个电话,它会添加另一列,然而无论多行都需要显示我指定的数据。例如,在价格表上,Fuel和2年标签将是静态的,但电话价格应该为2或3行动态填充。 –

回答

0

尝试下面的代码,希望它可以帮助你:

for($td=1;$td<=$cols;$td++){ 
       echo "<td>row: ".$tr." column: ".$td."</td>"; 
    } 

replace the above code by below one: 


for($td=1;$td<=$cols;$td++){ 
if($td == 1) 
    { 
    echo "<td>Static Data</td>"; 
    } 
else 
{ 
    echo "<td>row: ".$tr." column: ".$td."</td>"; 
} 
} 
+0

可悲的是,这是行不通的。我现在的代码是[链接](http://pastebin.com/fELtYwfm),这里是渲染的截图,还要注意价格显示的唯一原因是因为我的代码不在PHP中。 [链接](http://i.imgur.com/3v1Odzj.png) –

+0

我可以用这段代码[链接](http://pastebin.com/cwf8yEe5)修正它,但正如你所看到的那样只要静态第一列变为[link](http://i.imgur.com/kjIGoJw.png)就不会正确地循环数据。 –