Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在codeigniter中插入数据并动态生成网格_Php_Codeigniter - Fatal编程技术网

Php 在codeigniter中插入数据并动态生成网格

Php 在codeigniter中插入数据并动态生成网格,php,codeigniter,Php,Codeigniter,我需要一些想法来完成以下工作: 我需要动态构建一个表,并使用codeigniter插入和更新数据库中的数据 $dates=array (date1, date2, ......daten) (cols) $people=array(name1, name2, ......namen) (rows) date1 date2 date3 name1 3 5 8 name2 2 6

我需要一些想法来完成以下工作:

我需要动态构建一个表,并使用codeigniter插入和更新数据库中的数据

$dates=array (date1, date2, ......daten) (cols)
$people=array(name1, name2, ......namen) (rows)

             date1   date2   date3 
name1          3      5        8
name2          2      6        9
name3          5      5        1
name4          10     2        8
在db中,我需要注册:

name1, date1 and 3
name1, date2 and 5
name2, date1 and 2
....

这个解决方案对我很有效,你只需要仔细整理你的数组。 (摘自PHP食谱)

function pc_grid_horizontal($array, $size) {
    // compute <td> width %ages
    $table_width = 100;
    $width = intval($table_width / $size);
    // define how our <tr> and <td> tags appear
    // sprintf() requires us to use %% to get literal %
    $tr = '<tr align="center">';
    $td = "<td width=\"$width%%\">%s</td>";
    // open table
    $grid = "<table width=\"$table_width%%\">$tr";
    // loop through entries and display in rows of size $sized
    // $i keeps track of when we need a new table tow
    $i = 0;
    foreach ($array as $e) {
        $grid .= sprintf($td, $e);
        $i++;
        // end of a row
        // close it up and open a new one
        if (!($i % $size)) {
            $grid .= "</tr>$tr";
        }
    }
    // pad out remaining cells with blanks
    while ($i % $size) {
        $grid .= sprintf($td, '&nbsp;');
        $i++;
    }
    // add </tr>, if necessary
    $end_tr_len = strlen($tr) * -1;
    if (substr($grid, $end_tr_len) != $tr) {
        $grid .= '</tr>';
    } else {
        $grid = substr($grid, 0, $end_tr_len);
    }
        // close table
        $grid .= '</table>';
        return $grid;
}
$query = $this->db->query('SELECT * FROM `states`');
$states = $query->result_array();

// generate the HTML table
$grid = pc_grid_horizontal($states, 6);
print $grid;