批量数据录入
设计方法:同时提交多条表单记录,为每一条记录设置相同的文本域名称,然后在表单处理页中,通过for
循环来读取提取表单提交的数据,最后以数据的形式将数据逐条添加到数据库中。
其中,应用一个count()函数来获取数组中元素的个数。
int count(mixed var);
表单提交页面
代码如下 |
复制代码 |
数据库连接页
$id=mysql_connect("localhost","root","password") or die('connection failed'.mysql_error());
if(mysql_select_db('mydatabase',$id))
echo "";
else
echo('select db failed:'.mysql_error());
?>
表单处理页
php session_start(); include("conn/conn.php");
if($submit==true){
for($i=0;$i
$path=$_POST["sp_name"][$i];
$path1=$_POST["sp_number"][$i];
$path2=$_POST["price"][$i];
$path3=$_POST["counts"][$i];
$path4=$_POST["address"][$i];
$query=mysql_query("insert into tb_products(sp_name,sp_number,price,counts,address,data) values('$path','$path1','$path2','$path3','$path4','$data');}
if($query==true){
echo"提交成功";
else
echo"提交失败";}
}
?>
|
批量更新数据
主要通过while, list(),each()函数来实理数据的批量更新
list()函数用于一次性为多个变量赋值
代码如下 |
复制代码 |
表单处理页
if($submit=="激活"){
while(list($name,$value)=each($_POST)){
$result=mysql_query("update tb_user set operation='激活' where id='".$name."'");
if($result==true){
echo "";}}
if($submit2=="冻结"){
while(list($name,$value)=each($_POST)){
$result=mysql_query("update tb_user set operation='冻结' where id='".$name."'");
if($result==true){
echo "";}}
}
?>
|
总结,
心细的朋友会发现两个例子都有几个共同点,一个是表单from的表单名是以counts[]数组形式了,而在php处理接受页面都会使用for 或while来实现遍历了,下面我就简单的给大家分析这两个例子。
counts[]
这个在表单中是代表数组,如果你有10个表单那么我们name=counts[] 意思他们内个都是一样数组,知道这个是数组了就知道下面知道为什么会使用遍历了。
for 或while
因为表单过来的是数组我们就可以遍历数组然后对数据进行保存了,如下代码
while(list($name,$value)=each($_POST)){
或
for($i=0;$i
两个实现结果是一样的的哦。