WEB开发网
开发学院数据库DB2 使用 DB2 pureXML 和 PHP 构建 Support Knowledge... 阅读

使用 DB2 pureXML 和 PHP 构建 Support Knowledge Base(下)

 2010-02-25 00:00:00 来源:WEB开发网   
核心提示: 上面的清单包含显示最新文章的代码,该代码在逻辑上与显示评分最高的文章和浏览量最大的文章的代码基本相同,使用 DB2 pureXML 和 PHP 构建 Support Knowledge Base(下)(10),主页面使用 Article 类的两个函数:getTopArticles 和 getHi

上面的清单包含显示最新文章的代码。该代码在逻辑上与显示评分最高的文章和浏览量最大的文章的代码基本相同。

主页面使用 Article 类的两个函数:getTopArticles 和 getHighestRatedArticles。getTopArticles 函数接受一个参数,该参数被插入到 ORDER BY 子句来判断如何对结果排序。这些函数中的每一个返回一个文章数组。脚本随后遍历返回的数组并显示每篇文章的链接以及有关此文章的更细节的内容。图 12 显示了一个主页面的示例。

图 12. 主页面
使用 DB2 pureXML 和 <a target=PHP 构建 Support Knowledge Base(下)" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>

创建 Search Results 和 View Category 页面

Search Results 和 View Category 页面比较类似。Search Results 页面根据用户在搜索表单(应用程序的每个页面的顶部)中输入的搜索词返回结果。View Category 页面显示属于某个特定类别的所有文章。类别的 ID 通过左侧的导航类别链接或 Manage Categories 管理页面传递给该页面。

创建一个名为 search_results.php 的文件,将清单 26 中的代码复制到其中,将文件保存到项目的根目录中。

清单 26. search_results.php

<?php 
require_once("classes/article.php"); 
 
if(isset($_GET['query'])) { 
  $search_term = $_GET['query']; 
   
  $article = new Article; 
  $search_articles = $article->getArticlesBySearchTerm($search_term); 
   
  $title = "Search Results for "$search_term""; 
} 
 
include("includes/header.php"); 
?> 
<div class="box"> 
  <div class="box_header"> 
    <?php echo $title; ?> 
  </div> 
  <div class="box_content"> 
    <?php 
    if(is_array($search_articles) && count($search_articles) > 0) { 
      for($i = 0; $i < count($search_articles); $i++) { 
        $art_id = $search_articles[$i][0]; 
        $art_title = $search_articles[$i][1]; 
        $art_dc = $search_articles[$i][2]; 
        $art_vc = $search_articles[$i][3]; 
        $comments = $article->countCommentsByArticleId($art_id); 
        $rating = $article->getRatingByArticleId($art_id); 
        $rating_count = $rating['rating_count']; 
        $rating_average = number_format($rating['rating_average'], 2, '.', ''); 
        if($rating_average == 0) $rating_average = "Not yet rated"; 
         
        if(($i+1) % 2 == 0) echo '<div class="box_item">'; 
        else echo '<div class="box_item odd">'; 
        echo '<div class="box_item_title"><a 
 href="article_view.php?id='.$art_id.'">'.$art_title.'</a></div>'; 
        echo '<div class="box_item_date">'.$art_dc.'</div>'; 
        echo '<div class="box_item_category">'.$art_vc.' 
view(s)</div>'; 
        echo '<div class="box_item_comments">'.$comments.' 
Comment(s)</div>'; 
        echo '<div class="box_item_rating">Rating: '.$rating_average.' 
('.$rating_count.' votes)</div>'; 
        echo '<div class="clear"> </div>'; 
        echo '</div>'; 
      } 
    } else { 
      echo '<div>No articles found that match the query 
 <strong>'.$search_term.'</strong></div>'; 
    } 
    ?> 
  </div>   
</div>     
<?php 
include("includes/footer.php"); 
?>     

上一页  5 6 7 8 9 10 

Tags:使用 DB pureXML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接