第一种方法。
分割字符串,对于不足数量的插入的时候补空字符串。
第二种方法。
采用一个字段放置字符串。读取的时候再去分割。比如存储 “苹果|香蕉”读取的时候再以“|”来进行分割
第三种方法。
修改数据库,新建一个标签表,单独存储标签。这种可以方便查询等以后的其他 *** 作
订单提交后:
$_POST['list'] 的值会是:
array(a,b,c,d,e,a,b,a,b,c,d);
根本就没有使用价值,即无法分清楚是这些选项是属于哪个名称的。所以,要么用js先在提交之前加工一个“list”的值,或者改交下list的名称,如下:
<input type="checkbox" name="list[]" value="a" />
改为:
<input type="checkbox" name="list_sina[]" value="a" />
其他的按些修改。
在提交之后的处理代码如下:
$title = isset($_POST['title']) $_POST['title'] : array();$insert_data = array();
foreach($title as $row){
$name = trim($row);
$list = isset($_POST['list_'$name]) implode(',',$_POST['list_'$name]) : '';
$insert_data[] = "('$name','$list')";
}
if(!empty($insert_data)) $mysql->query('INSERT INTO mysql_table(name,list)VALUES 'implode(',',$insert_data));
这样的数据库查询语句为:
INSERT INTO mysql_table(name,list)VALUES ('sina','a,b,c,d,e'),('qq','a,b'),('ifeng','a,b,c,d')
1char 和nchar 当填入数据为空时,数据库自动使用全空格来代替,从而使not null形同虚设。所以如果字段不能为空,一定要在程序中提前判断。
2char 和nchar因为长度固定,据说读写的速度要比 varchar和nvarchar快
大概有25 种数据类型:
Binary [(n)],Varbinary [(n)],Char[(n)],Varchar[(n)],Nchar[(n)],Nvarchar[(n)],Datetime,Smalldatetime,Decimal[(p[,s])],Numeric[(p[,s])],Float[(n)],Real,Int,Smallint,Tinyint,Money,Smallmoney,Bit,CursorSysname,Timestamp,Uniqueidentifier,Text,Image,Ntext。
以上就是关于php explode函数分割字符串,但分割字符串长度不定,分割后数组元素数量不定,插入数据库处理的问题全部的内容,包括:php explode函数分割字符串,但分割字符串长度不定,分割后数组元素数量不定,插入数据库处理的问题、php 多个 数组 怎样存入数据库、数据库里什么数据类型能存放数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)