2011-12-29 99 views
1

我卡住了,无法弄清楚这一点。添加额外的表格行

我有这段代码,它基本上是生成一个从sql游标获取数据的表。 我需要在每行之后添加一个额外的表格行(它将填充更多信息)。我试过把这个新行放在几个地方,但是从来没有任何输出数据。这是别人的代码,我试图修改。

$top_i=min($pagesize-1,$numrows-$start); 
    for($i = 0;$i<=$top_i;$i++) { 
    if (($i%2)==1) 
    echo "<tr class='saraksts_row0'>"; 

    else 
    echo "<tr class='saraksts_row1'>"; 




    $res=mssql_query("fetch absolute ".($start+$i)." from saraksts_cursor "); 
    $row=mssql_fetch_array($res); 

    $itemp = 0; 
    foreach($fields as $field) { 
     $key = $field[0]; 
      if($field[2]) { 
       eval($field[2]); 
      } 
      $itemp++; 
      $val = ($row[$key] == "") ? "&nbsp;" : $row[$key]; 

      // Get rid of right and left border, set topmost border 
      $st=""; 
      if ($itemp==1) 
      $st.="border-left-style:none;"; 
      if ($itemp==$numfields) 
      $st.="border-right-style:none;"; 
      if ($i==$top_i) 
      $st.="border-bottom-style:solid;"; 

    echo "<td style='$st'>$val</td>"; 
    } 
    $itemp = 0; 

    echo "</tr>\n"; 
} 
+2

究竟是什么,你有问题?是否有任何错误信息,如果是的话,它们是什么?你需要更具体。 – tvanfosson 2011-12-29 14:06:07

+0

我不知道在哪里放。我试图在几个位置添加,但始终没有输出数据。 这不是我自己的代码,所以我有点困惑 – jeger 2011-12-29 14:15:11

+0

它需要去循环的底部关闭你的其他行之后... fyi,你的代码示例似乎缺少右括号为你的'为'循环。它应该在代码示例的末尾和右括号之间。 – tvanfosson 2011-12-29 14:17:57

回答

1

要添加额外行的地方是关闭的第一行后和迭代移动到下一个前。请注意,您似乎正在根据行是奇数还是偶数来进行一些样式设计。如果你想让这个新行具有相同的样式,我建议你将你正在应用的类存储到前一行,这样你也可以将它应用到这一行。

echo "</tr>\n"; 
    echo "<tr><td>...</td><td>...</td></tr>\n"; /* Add the new row here */ 
} 
+0

谢谢。现在它更清晰了! – jeger 2011-12-29 14:30:22

+0

@ user1109676 WTH?当你的问题要求增加一行时,你接受了一个增加了额外列的答案。这是什么? – tvanfosson 2011-12-29 14:32:19

+0

我怀疑是来自OQs措辞的额外上校 – 2011-12-29 14:33:45

0
... 
      $st.="border-bottom-style:solid;"; 

    echo "<td style='$st'>$val</td>"; 
    } 

    //Here we go 
    echo '<td style="blah">'.$yourotherinfo.'</td>'; 


    $itemp = 0; 

echo "</tr>\n";