您当前的位置: 站长圈 > 后端教程

php的增删改查(二)——查询数据(查)

来源:|1 作者:adminroy 点击: 0

上一章我们一起学习了从页面向数据库插入数表,这一章我们要把数据表里插入的数据显示在页面上,用户总不能提交了表单总去看数据库吧,所以我们要实时地在页面上看见我们添加的信息。

先理一下思路,既然要把数据显示在页面上,我们总得有个地方让它放吧,有了地方了,我们要让页面和数据库产生联系吧,然后才能查询数据表,再把查到的数据放到页面相应的位置。

创建一个index.php的页面,在body里先放一个2行5列的表格,代码如下:


第一行是各个字段的说明,第二行就是我们要循环的数据的值,一行显示一条数据,因为新闻内容一般都有很多文字,因此不适合显示在这里,我们显示新闻的标题、来源和时间,然后每一行的最后一个单元格放两个链接:修改和删除,为我们下面两章更新数据和删除数据做准备。

接下来就是开始php的操作了。查询数据说简单也最简单,说复杂也最复杂,原因是你在一个数据表里查询,可能会有很多条件,根据不同的条件组合就会产生比较复杂的语句来获得结果。我们这里用到的是最简单的一个查询语句。上代码:

include("conn.php");
$sql="select * from news";
$query=mysql_query($sql);

1.首先是连接数据库

2. "select * from news"就是最基本的查询语句,select...from...是从哪里查询的意思,*是所有字段,news是待查询的数据表。因此这句语句的意思就是从news数据表里查询出所有字段的所有数据。当然,你也可以给它加一些条件,比如按照id降序排列,或者查询几月几日到几月几日之间发布的新闻等等。

3.执行上面的查询语句,并把结果赋给一个变量。这里不需要像插入语句时一样要用户做什么操作才执行,而是页面一显示就执行了这个查询操作。

以上3步做完,我们查询的东西已经被放在缓存里了,那怎么样让它显示在页面里呢?这时候就要修改之前的html代码了:

4. mysql_fetch_array() 是从结果集中取得一行作为关联数组,或数字数组,或二者兼有。怎么理解呢?我们可以看一下数据表里的结构(如下图所示),可以把整个数据表这个结果集看做是一个二维数组,二维数组的值就是每一个红框所标示的一条数据,一条数据本身也是一个数组,它的值是每一个字段的值。所以mysql_fetch_array()就是从整个数据表这个结果集里获取一条单独的数据从而得到一个数组,如果函数执行成功就返回一条数据这个数组,执行失败就返回false(当然别忘了它有个参数就是之前我们执行mysql语句返回的资源结果$query)。然后把结果赋给一个变量$row,可以用每个字段的名字作为这个数组变量的键来得到它的值,如$row['id']、$row['title']、$row['befrom']、$row['newstime'],也可以用每个字段的数字索引作为键来获取它的值,如$row[1]、$row[2]、$row[3]、$row[4],这就是“关联数组,或数字数组,或二者兼有”的意思。

然后就是把$row['id']、$row['title']、$row['befrom']、$row['newstime']这些查询出来的值放入对应的地方,最后用while循环数据表里的每一条数据。效果如下: