theme_tableでTR要素に属性をつける

意外に難しい。theme.incのコードをかなり読み込んでやっと理解できた。
ポイントはテーブルの行を表す変数(ここでは$rowsという配列の各要素)に'data'というキーをつけた連想配列の中身に、その行の各セルの中身を表す連想配列を入れて、それとは別にclassなりidなりrowspanなりのデータを記述するということ。
ややこしいので、以下の例を参考に。

  while ($data = db_fetch_object($result)) {
    $rows[] = array(
        'data' => array(
          array('data' => $data->name, 'align' => 'left' ),
          array('data' => $data->item, 'align' => 'center' ),
        ),
        'class' => 'table_row')
     ;
  }
  return  theme('table', $header, $rows);

このようにすると、

<tr class="table_row">
  <td align="left">Name</td>
  <td align="center">Item</td> 
</tr>

のようにTRに"table_row”というclass属性が挿入される。