3.7 动态生成网络书籍的目录
上一节试着做成了动态管理网络书籍的应用程序,在页面的下方(上下方都可以加上的)拥有了导航条,用户可以自由地在上下页间移动。然而,书籍或者使用手册是不能少了目录的,大家有看书前先浏览目录的习惯没有?浏览了书籍的目录,可以大致了解这本书籍所介绍的内容,还可以根据目录直接翻到自己感兴趣的章节。网络书籍,网上使用手册也是如此。
本节将为上一节的网络书籍做一个目录,如下图所示。
本例要点
上一节中已经详细地介绍过关系数据库表的“自结合”的概念,本节在生成目录时,也要用到表的自结合。此节就不再解说概念性的东西,大家可以根据实际的数据进一步地理解自结合的概念。
此例中的网络书籍各章关系如图3-4所示。
图3-4 网络书籍目录图示
从图3-3可以看出,以chap0-1.php为起点,可以很快将所有章节连在一起。
目录结构
数据库的标结构
link(参照3.5节)
本例代码
以第一页(chap0-1.php)为条件,搜索所有页的组成信息及其下一页的URL。
bindParam方法将指定变量替换预留置换位,关于bindParam方法与bindValue方法的区别请参考本节后的补充资料。
根据取得的信息生成链接字符串。
直到不能取得下一个网页的URL为止,以已取得的URL作为条件检索其组成信息,以及其下一页的URL。这样最终将link表中登录的所有网页取出来了。
以取得的下一页的URL置换变量$url。
补充
bindParam方法与bindValue方法的区别
本节介绍了与bindValue方法相似的bindParam方法。两者都是将指定的变量替换SQL命令中的预留置换位(place holder),完成相同的工作。
两者不同的是,bindValue方法将变量的值与预留置换位相关联,而bindParam方法是将变量的地址与预留置换位相关联。变量的具体内容在excute方法执行时确定。
在本节的例子中,预留置换位相关联变量值可以在第31行进行动态改变,而如果使用了bindValue方法,预留置换位相关联变量值始终固定在第9行设定的值,显然程序的逻辑就不成立了。
知识专栏:使管理数据库服务器效率化
Microsoft Access
Microsoft Access作为个人数据库应该是非常有名的,通过ODBC(Open DataBase Connectivity)可以作为各种数据库服务器的客户端应用程序来使用。尽管不能进行表的创建以及相关设定,但是对于那些使用惯了Microsoft Access数据编辑界面的开发人员来说,用Microsoft Access作为客户端比原数据库软件的自带程序拥有更好的效率。
关于ODBC的详细设定步骤可以参照下面的本书官方网页:
http://space.itpub.net/397/viewspace-228916。
另外,使用Microsoft Access连接数据库时,必须下载按表3-14所示的URL对应的ODBC驱动后,并安装上。
表3-14 主要数据库的ODBC驱动
共有条评论 网友评论