使用 DB2 pureXML 和 PHP 构建 Support Knowledge Base(下)
2010-02-25 00:00:00 来源:WEB开发网该文件中的代码很大程度上与 category_edit_process.php 文件相似,不同之处在于它要求数据库删除一个现有的类别,而不是创建一个新类别或更新类别。当用户删除一个类别时,他们会在 Manage Categories 页面中看到一条表示成功的消息,类似于图 6 中 Edit Category 页面显示的消息。
创建文章管理页面
接下来,需要对文章执行添加、编辑和删除操作。这在很大程度上使用与类别管理相同的方式。惟一增加的复杂性是文章包含一个类别 ID 作为外键,该外键被映射回类别表。因此,Create/Edit Article 页面需要允许用户从数据库中存储的类别中选择一个 Category,然后在 category_id 列中存储该类别的 ID。
清单 19 包含 article_edit.php 文件的一个片段,其中包含允许用户创建和编辑 Knowledge Base 文章的页面的代码。下载 部分的源代码包含了整个文件。将您的 article_edit.php 文件保存到项目的根目录中。
清单 19. article_edit.php 文件的片段
...
if(isset($_GET['id'])) {
$id = $_GET['id'];
$article = new Article;
$article->load($id);
}
...
<div class="article_form">
<form name="article" method="post" action="article_edit_process.php">
<?php
if(isset($id)) {
echo '<div class="article_form_field">';
echo '<label for="id">ID:</label>';
echo '<input type="text" name="id" id="id" value="'.$id.'"
readonly="readonly" />';
echo '</div>';
}
?>
<div class="article_form_field">
<label for="title">Title:</label>
<input type="text" name="title" id="title"
<?php if(isset($article)) echo 'value="'.$article->getTitle()
.'"'; ?>
/>
</div>
<div class="article_form_field">
<label for="category">Category:</label>
<select name="category" id="category">
</select>
</div>
...
<div class="article_form_field">
<label for="content">Article Content:</label>
<textarea name="content" id="content"><?php
if(isset($article))echo $article->getContent(); ?></textarea>
</div>
<?php
if(isset($id)) echo '<input type="submit"
value="Edit Article" />';
else echo '<input type="submit" value="Create Article" />';
?>
</form>
...
更多精彩
赞助商链接