Home > Backend Development > PHP Tutorial > PHP查询mysql,根据其中的身份证字段,按出生年月日排序

PHP查询mysql,根据其中的身份证字段,按出生年月日排序

WBOY
Release: 2016-06-23 13:09:54
Original
1532 people have browsed it

我的mysql数据表person中有一个身份证号码字段,我想根据其中的出生年月日,也就是身份证号码中的第七到第14个字段来排序。重点是排序。person表的创建语句如下:
$persql = "CREATE TABLE person 
(
ID int NOT NULL AUTO_INCREMENT,
personID char(18) NOT NULL, 
personName varchar(20),
homeID int,
about varchar(10),
sex varchar(4),
edu varchar(8),
mz varchar(4),
PRIMARY KEY(ID),
UNIQUE(personID)
)ENGINE=InnoDB DEFAULT CHARSET=utf8";
查询语句$sql="SELECT * FROM person";
$sp=mysql_query($sql, $con);
其中personID字段存储身份证号码。我要将所有字段输出,如下图所示,
希望根据其中的出生年月日排序。
目前我想到的方法是把数据存储到一个二维的数组中
$arr=array();
$i=0;
while ($row = mysql_fetch_array($sp)) {
   
    $arr[$i]=$row;
    $i++;
    }
进行二维数组排序,再输出。但是我觉得这个方法太麻烦了,希望有更好的方法。


回复讨论(解决方案)

在mysql就可以排序了
SELECT * FROM person order by SUBSTRING(personID,7,8) desc

SELECT * FROM person order by SUBSTRING(personID,6,13) desc 
感谢楼上!这个函数太好用了,又get到一个新的技能。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template