返回首页 一步步教你用 PHP+MySQL 搭建网站

主页&数据库连接

这一章节我们来看用户输入网页后的主界面。

一般来说,默认主页都是 index 点 xxx,比如 index.php, index.html , index.jsp 等等。我们来看一下我们的 index.php 吧。

index.php

提醒: 在<?php?>的两端,不要出现任何空格或者其他字符,也就是不要在<?php的前面加上空格这样的字符,然后?>后面也不要出现其余的字符,不然的话可能会出现这样的提示:

我之前出现过这样的情况,Google 了之后是说 header 必须放在最开始的时候执行,不能先有输出然后再 header。

再次强调一遍,stackoverflow 真的是太强大了,基本上所有的问题都能在上面找到答案。

接下来,我们看两个 include_once() 相当于 import 进来的文件,在整个 index.php 中我们移动 include 了 3 个文件,分别是 db_fns.php, header.php 和 footer.php。

我们分别来看吧。

db_fns.php

这个阶段我们只需要用到这个 db_connect() 函数就好了,不要忘记在结尾加上?>

这个函数是用来连接数据库的,mysql_connect() 函数里面的3个参数,分别是 数据库的地址、数据库的用户名称、该用户的密码。

友情提醒下,上一篇里面可以下载到源代码,那里面的密码我是改成了‘password’的,真实的密码不一样哦。 然后用 mysql_select_db() 函数来选择我们的数据库。

这样就可以连接到我们之前建好的数据库了。

header.php 和 footer.php 其实就相当于独立出来的框架,在不同的页面里面,我们只需要修改里面的内容,而外围的这个框架是不变的,所以单独把它们摘出来。

header.php

可以看到,header.php 里面其实没有 php 的代码,都是纯的 HTML 的代码,这里就不多做讲解了,都很简单的标签、链接地址、CSS等等

footer.php

footer 也一样,都是纯的 HTML 标签。这两部分结合起来看,就是一个完整的框架,然后我们需要做的,就是修改中间的部分,让它们在不同的页面展示不同的内容。

让我们把注意力集中在 index.php 中间的 php 代码块部分。我们慢点来,刚开始总会有点困难:

我再帖一遍代码:

代码的第 12 行,我们写了我们工程中的第一个 sql 语句,我们从 page 表中把所有的内容筛选出来,如果在数据库里面是这样的:

我们看到 page 表里面存了所有文章的类型,用 code 来表示;每种类型的描述也都相应地存储了下来。 然后我们通过 mysql_query 函数把 select 的结果保存到一个变量 pages_result 里面:

$pages_result = mysql_query($pages_sql);  

然后,看代码的第 17 行,在 while 语句中,我们用到了一个函数 mysql_fetch_assoc 来把搜索出来的结果存到一个字典里面。

如果你 Google 一下这个函数,会发现在 Mysql 的函数中,一共有 3 个:

mysql_fetch_row , mysql_fetch_array 和mysql_fetch_assoc

row 的话只能用下标 0,1,2 来选取不同列的内容,而 assoc 可以通过数据库的列名来选取,array 即可以用数字,也可以用 key 来找。

所以在第一次执行 while 语句是变量 pages 里面其实是一个 key 和 value 的键值对,key 是 code 和 description ,value 分别是 news 和 'The top news stories from around the world';

所以,我们就能理解 18,19 行的 select 语句是如何组成了的吧?不懂的可以留言,大家一起学习!

通过 while 语句循环,我们依次得到 3 个 select 语句,从 stories 表里面选取出按照 page 做分类的所有 stories

这样,我们以此显示出不同 page 的第一个 story(因为是 if 不是 while,仅显示第一个 story 的相关内容); 然后我们通过 resize_image.php 显示出来对应的图片,这个我们放到下个章节来介绍,包括数据库里面的一些小 tips 和 header 里面的几个链接,我们都放到以后介绍。

这样代码写下来,在浏览器里面输入我们的网址,就能显示出来相应的内容了。当然,如果你点击上面的链接是会提示错误的,我们慢慢来完善吧。

本文由 kaka 创作,采用 知识共享署名-相同方式 3.0 (CC协议)中国大陆许可协议 进行许可。 转载、引用前需联系作者,并署名作者且注明文章出处。

上一篇: 准备工作 下一篇: 图片显示和 Page...