从HTML表类创建表

时间:2012-06-14 21:24:24

标签: php codeigniter

试图找出我如何正确地做到这一点。

print_r如下所示:

Array ( [0] => stdClass Object ( [quote] => "Now that's wonderful!" ) ) 

表格创建:

$tmpl = array ( 'table_open'  => '<table class="table" id="quotes-table">' );
$this->table->set_template($tmpl); 
print_r($quotes);
$data = array(
    array(form_checkbox('quotes'), 'Quote'),
    array(form_checkbox('quotes'), 'Testing Quote Here'),
    array(form_checkbox('quotes'), $quotes['quote'])
);
echo $this->table->generate($data); 
?>

更新

问题虽然当我添加超过1行时,它只返回那一行。所以基本上我想要一个可以从查询中返回的对象,以便在视图中我可以简单地执行$ quote-&gt; quote。这样它将显示用户的所有报价。

<?php
$tmpl = array ( 'table_open'  => '<table class="table" id="quotes-table">' );
$this->table->set_template($tmpl);
$checkbox_data = array(
    'name'        => 'quote',
    'id'          => $quotes->id
); 
$data = array(
    array(form_checkbox($checkbox_data), 'Quote'),
    array(form_checkbox($checkbox_data), $quotes->quote)
);
echo $this->table->generate($data); 

2 个答案:

答案 0 :(得分:2)

您没有说出问题所在,但如果您没有看到引用,请尝试更改此问题:

array(form_checkbox('quotes'), $quotes['quote'])

进入这个:

array(form_checkbox('quotes'), $quotes[0]->quote)

编辑: 一些额外的澄清。

  Array ( [0] => stdClass Object ( [quote] => "Now that's wonderful!" ) ) 

你有一个1的数组,这是一个对象。对于数组,对对象$ object-&gt; key使用$ array ['key']。如果您无法在控制器中更改它,您可以执行类似这样的操作

$quotes = $quotes[0];
$quotes->quote;

答案 1 :(得分:1)

在回答您的更新时,请尝试以下操作:

<?php

// Your query
$results = $this->db->get('quotes')->result();

$this->table->set_heading('Name', 'Quote');

foreach ($results as $result)
{
   // The name is the user's name, not sure if that's what you were going for.
   $this->table->add_row($result->name, $result->quote);
}

echo $this->table->generate();

一切都在这里:http://codeigniter.com/user_guide/libraries/table.html