目前我只是循环思考数字,然后将它们作为单独的数据行添加。
DB(managedid是ref的外键)
----------------------
| managedid | option |
|-----------|--------|
| 2 | 3 |
| 2 | 6 |
| 2 | 12 |
| 2 | 54 |
| 2 | 123 |
----------------------
但是可以有很多,然后更新它我只是删除所有并重新输入。
但是,如果它可以做类似的事情:
------------------------------
| managedid | option |
|-----------|----------------|
| 2 | 3,6,12,54,123 |
------------------------------
因此,不仅减少db表中的单个项目,更新也会更简单。
此刻我会追加说'' |'在每个数字之后,它们在输出上爆炸,所以它们再次变得奇异,但是想知道是否有更好的方法
答案 0 :(得分:3)
查看mySQL手册中的group_concat函数
答案 1 :(得分:1)
您可以将值与implode()
的字符串组合在一起,但值得注意的是,将所有值保留在单个字段中会使搜索变得非常不切实际,因为它们无法合理地编入索引。例如,您如何找到已选择选项managedid
的所有3
?
答案 2 :(得分:0)
答案 3 :(得分:0)
感谢您的回复,但由于我永远不想单独分离任何价值,我总是希望我想要沿着这条路走下去的总价值。
所以我从最初的想法出发,循环查看结果并将它们加在一起,通过“|”分隔它们。
然后使用php函数explode将它们分开,以便在我的表单中使用。
添加它们:
foreach ($options as $k => $opt) { $displayOptions .= $opt . '|'; };
得到他们
$opts = explode('|',$displayOptions['options']);