如何使用 codeigniter 动态创建列
Posted
技术标签:
【中文标题】如何使用 codeigniter 动态创建列【英文标题】:How to create columns dynamically using codeigniter 【发布时间】:2020-07-17 13:22:18 【问题描述】:public function addDynFields()
$checkedfileds = $_POST['CheckedFileds'];
$qry = "ALTER TABLE `pm1asset_dynamic_fields` ";
//echo $qry;die;
foreach ($checkedfileds as $key => $value)
$dynflds = strtolower($value);
$dynclmns = 'add_to'.'_'.$dynflds;
if ($value == 'Title')
$qry .= "ADD COLUMN `".$dynclmns."` int(11) NOT NULL";
else
$qry .= "ADD COLUMN `".$dynclmns."` varchar(255) NOT NULL";
// use (;) for the last row, otherwise use (,)
if ($key === key($checkedfileds))
$qry .= ",";
else
$qry .= ";";
end($checkedfileds);
$this->db->query($qry);
这里我有一些代码可以使用codeigniter根据选中的复选框动态创建列,我尝试了这种方法,当我选中两个复选框时它工作正常,但是对于单个复选框它不起作用,当我点击两个复选框时它只是在表中添加..我不知道为什么。谁能帮帮我吗。任何帮助都将不胜感激。
【问题讨论】:
【参考方案1】:这条线有问题。
if ($key === key($checkedfileds)
具体原因我也不知道,试了几种方法here。
我的解决办法是
$n = count($checkedfileds);
$i = 0;
foreach ($checkedfileds as $key => $value)
//and
if(++$i === $n)
//if ($key === key($checkedfileds))
【讨论】:
感谢您的回复先生,它是数组格式(Array([0]=>Array([0]=>Tile)))以上是关于如何使用 codeigniter 动态创建列的主要内容,如果未能解决你的问题,请参考以下文章