Chinaunix首页 | 论坛 | 博客
  • 博客访问: 448156
  • 博文数量: 141
  • 博客积分: 211
  • 博客等级: 入伍新兵
  • 技术积分: 1049
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-17 16:25
个人简介

如此经年,望尽千帆。

文章分类

全部博文(141)

文章存档

2014年(73)

2013年(65)

2012年(3)

我的朋友

分类: PHP

2013-08-26 16:16:05

在PHP开发中,表单提交应该非常常用,在所有表单数据中,对于初学者,比较难的恐怕就是复选和多选这种提交数组的处理和上传处理,今天不说上传,就说说处理复选和多选下拉列表。一个复选和多选表单如下

  1. <input name="c[]" type="checkbox" value="1" checked>1
  2.   <input name="c[]" type="checkbox" value="2">2
  3.    <select name="list[]" size="5" multiple>
  4.     <option value="-1" selected>select</option>
  5.     <option value="1">1</option>
  6.     <option value="2">2</option>
  7.   </select>
这里[]是php特有的,其他如.net、java是没有的,php如果不加的话是接收不到这些数据的。接收数据$arrc = $_POST['c'];$arrlist = $_POST['list'];这里收到的都是数组,一般不直接存入数据库,而是转换成字符串存入,就像 1,2,3这种形式,对于非数字字符串,存储数据库以后要想显示比较方便,直接读取显示,而对于数字字符串,我们一般有可能用这些数字所代表的id去数据库中充当条件,查询数据,所以使用的时候还要把这些字符串还原成数组,然后通过循环来查询显示。

对于的例子,网上有很多,这里为大家推荐几篇:
1,php接收多个复选框的值  http://www.cnblogs.com/banbo/archive/2013/04/17/3026519.html
2,探讨php接收多个复选框的值 http://www.cnblogs.com/martin1009/archive/2012/12/28/2837419.html

数组与字符串转换的函数主要就是implode用来转换成字符串,explode用来还原成数组,如果只是存入数据库,serialize函数更好,用来数据序列化存入数据库,取出我们用unserialize来还原成数组,非常方便,这就是两种用来常用处理数组存储到数据库,有没有更好的我不知道,我在开发中就是主要用的这两种。

本文主要针对于初学者,一般我们对于图片处理都是只存储地址,对于文件上传也都是存储地址,以及时间存储是存储时间戳,在入库出库前对数据检测。
阅读(2529) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~