Adds an input table as a FAPI element:

$form['tickets_table'] = array(
    '#type' => 'fapi_table',
    '#empty' => t('Nothing to enter'),
    '#header' => array(t('User')),
  );
  $users = array(
    'user_1' => 'User 1'
    'user_2' => 'User 2'
    'user_3' => 'User 3'
    'user_4' => 'User 4'
    'user_5' => 'User 5'
    'user_6' => 'User 6'
    'user_7' => 'User 7'
    'user_8' => 'User 8'
    'user_9' => 'User 9'
    'user_10' => 'User 10'
    'user_11' => 'User 11'
  );
  $tickets = array(
    'ticket_type_1' => t('Ticket type 1'),
    'ticket_type_2' => t('Ticket type 2')
  );

  foreach ($tickets as $ticket) {
    $form['tickets_table']['#header'][] = $ticket;
  }
  foreach ($users as $user_key => $account) {
    $row = array(
      array('#markup' => $account),
    );
    foreach ($tickets as $ticket_key => $ticket) {
      $row[$ticket_key] = array(
        '#type' => 'textfield',
        '#title' => t('Quantity'),
        '#required' => FALSE,
      );
    }
    $form['tickets_table'][$user_key] = $row;
  }
Supporting organizations: 

Project information

Releases