4、实现在线目录

主页-目录
由以下代码实现:
4.1 index.php
<?php
/**
* @author switch
* @copyright 2015
* 网站首页,显示系统中的图书目录
*/
//require_once语句和require语句完全相同,唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含。
require_once('book_sc_fns.php');
session_start(); //开始会话
do_html_header('Welcome to Book-O-Rama'); //页头
echo "<p>Please choose a category:</p>";
$cat_array = get_categories(); //从数据库获取目录
display_categories($cat_array); //显示目录链接
if(isset($_SESSION['admin_user'])) //如果是管理员,显示管理员操作
display_button("admin.php","admin-menu","Admin Menu");
do_html_footer(); //页尾
?>
4.2 book_fns.php文件中的函数get_categories()
function get_categories() //从数据库中获取目录列表
{
$conn = db_connect(); //连接数据库
$query = "select catid,catname from categories";
$result = @$conn ->query($query);
if(!$result) //查询失败,返回false
return false;
$num_cats = @$result ->num_rows;
if($num_cats == 0) //数据库中无目录,返回false
return false;
$result = db_result_to_array($result);
return $result;
}
4.3 output_fns.php文件中的函数display_categories()
function display_categories($cat_array) //输出目录
{
if(!is_array($cat_array))
{
echo "<p>No categories currently available</p>";
return;
}
echo "<ul>";
foreach($cat_array as $row)
{
$url = "show_cat.php?catid=". $row['catid'];
$title = $row['catname'];
echo "<li>";
do_html_URL($url,$title);
echo "</li>";
}
echo "</ul>";
echo "<hr/>";
}
4.4 db_fns.php文件中的函数db_result_to_array()
function db_result_to_array($result) //结果到数组
{
$res_array = array();
for($count = 0; $row = $result ->fetch_assoc(); $count++)
$res_array[$count] = $row;
return $res_array;
}

Internet目录下的所有图书
由以下代码实现:
4.5 show_cat.php
<?php
/**
* @author switch
* @copyright 2015
* 显示特定目录包含的所有图书
*/
//require_once语句和require语句完全相同,唯一区别是PHP会检查该文件是否已经被包含过,如果是则不会再次包含。
require_once('book_sc_fns.php');
session_start();
@$catid = $_GET['catid'];
$name = get_category_name($catid);
do_html_header($name);
$book_array = get_books($catid);
display_books($book_array);
//如果是管理员,显示管理界面按钮
if(isset($_SESSION['admin_user']))
{
display_button("index.php","continue","Continue Shopping");
display_button("admin.php","admin-menu","Admin Menu");
display_button("edit_category_form.php?catid=". $catid,"edit-category","Edit Category");
}
else //否则显示主界面按钮
{
display_button("index.php","continue-shopping","Continue Shopping");
}
do_html_footer();
?>







