php数组数据库
PHP的话,使用foreach循环执行sql代码即可(可能运算量较大)
直接存数组中的字符串也可以。
如:
$a="0,1,2,3";
//$a=join(",",array(0,1,2,3));这样也可以
mysql_query("INSERTINTOadmin(monday)VALUES($a)");
这样字段monday的就是0,1,2,3
(后一种具体答案,摘自adebug的回答,有改动)
‘贰’ PHP 用数组读取数据库的问题
$sql
=
"select
class
from
name
where
Id
=
1";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);
mysql_free_result($res);
$arr=explode(',',$row['name']);
print_r($arr);
‘叁’ php 多个 数组 怎样存入数据库
订单提交后:
$_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($titleas$row){
$name=trim($row);
$list=isset($_POST['list_'.$name])?implode(',',$_POST['list_'.$name]):'';
$insert_data[]="('$name','$list')";
}
if(!empty($insert_data))$mysql->query('INSERTINTOmysql_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')
‘肆’ PHP数组,如何写入mysql数据库
<?php
$info=$_POST['info'];
$values="";
for($i=0;$i<count($info['title']);$i++){
$values.="('{$info['title'][$i]}','{$info['price'][$i]}','{$info['amout'][$i]}'),";
}
$values=rtrim($values,',');
mysql_query("insertintotablenamevalues".$values);
//这种情况适用于比较少的行插入
如果数据量比较大
将数据按行存入文本中
for($i=0;$i<count($info['title']);$i++){
$values.="{$info['title'][$i]} {$info['price'][$i]} {$info['amout'][$i]} ";
}
file_put_content('data.txt',$values);
mysql_query("loaddatalocalinfile'data.txt'intotabletablename");
‘伍’ php通过数组查询数据库
把不要的数据通过sql语句过滤掉,然后分页输出。如果你全查出来,装到数组,然后判断,再输出。太麻烦,效率又不高,不建议这样做。