php explode函数分割字符串,但分割字符串长度不定,分割后数组元素数量不定,插入数据库处理的问题

php explode函数分割字符串,但分割字符串长度不定,分割后数组元素数量不定,插入数据库处理的问题,第1张

第一种方法。

分割字符串,对于不足数量的插入的时候补空字符串。

第二种方法。

采用一个字段放置字符串。读取的时候再去分割。比如存储 “苹果|香蕉”读取的时候再以“|”来进行分割

第三种方法。

修改数据库,新建一个标签表,单独存储标签。这种可以方便查询等以后的其他 *** 作

订单提交后:

$_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 多个 数组 怎样存入数据库、数据库里什么数据类型能存放数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9615595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存