Open Source Web Development Tutorials - Dev Shed
プロジェクト管理アプリケーションのタスク閲覧/編集
(2008/12/18公開)
自作!プロジェクト管理アプリケーション:データベースとログインページ
プロジェクト管理アプリケーションのHTMLを解析
プロジェクト管理アプリケーションに変更を加える
プロジェクト管理アプリケーションのタスクを追加する
プロジェクト管理アプリケーションのタスクを閲覧する/編集する
本連載では、プロジェクト管理アプリケーションの構築を7回に分けて解説していますが、今回はその第5回です。前回はview_tasks.phpスクリプトを学習しましたね。そして、スクリプトのうち、特にPHPの部分を詳しく解説しました。引き続き、この第5回では、スクリプトのHTML部分に注目します。その後で、タスクを変更するedit_task.phpスクリプトを解説しましょう。
さて、タスク閲覧スクリプトの動的なHTMLテーブルを生成するために、PHPはページのPHP部分に格納されている$num変数を使用します。テーブルヘッダーは、以下の通りです。
・説明
・完了期日
これらのヘッダーは静的ですから、コードの動的要素には影響されません。コードは、以下の通りです。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/PM_Main.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Untitled Document</title>
<!-- InstanceEndEditable -->
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
<link href="Templates/main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="100%" border="0">
<tr>
<td width="33%"> </td>
<td width="28%"> </td>
<td width="39%">Logged in: <!-- InstanceBeginEditable name="login" -->
<? echo $_SESSION['name'];?> | <a href="logout.php">Logout</a><!-- InstanceEndEditable --></td>
</tr>
<tr>
<td colspan="3" bgcolor="#6699CC" class="headertxt">Project Management Software </td>
</tr>
<tr>
<td colspan="3"><!-- InstanceBeginEditable name="main" -->
<table width="100%" border="0">
<tr>
<td colspan="2" class="loginheader"><?php echo $title;?> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Task Description: </td>
<td>To be completed by: </td>
</tr>
ここから動的列が開始します。PHPは、最初に、生成しなくてはならないテーブル列の数を確認します。
<?php
if($num > 0){
次に、結果の数に基づいて実際に列を生成するwhile()ループを生成します。数は$num変数に格納されていますから、例えばその数が5であれば、生成される列の数も5となります。これらの列が生成されると、PHPがテーブルに「説明」と「完了期日(complete by)」を付け加えます。
while($row = mysql_fetch_assoc($result)){?>
<tr>
<td><?php echo $row['task_description']?></td>
<td><?php echo $row['complete_by']?></td>
</tr>
<?php
}
$num変数に数が存在しない場合は、プロジェクトに関して入手できるタスクがないことを意味します。したがって、適切なメッセージが表示されます。
}else{
?>
<tr>
<td colspan="2"><p>There are no tasks registered for this project.</p></td>
</tr>
<?php }
?>
</table>
<!-- InstanceEndEditable --></td>
</tr>
<tr>
<td colspan="3"><!-- InstanceBeginEditable name="nav" --><table width="100%" border="0">
タスク閲覧ページの一番下には2つのナビゲーションリンクが表示されており、管理者コーナーあるいはタスク編集ページへ移動できます。ここでは、タスク編集ページを選んでみましょう。
<tr>
<td><a href="edit_task.php?pid=<?php echo $_GET['pid'];?>">Edit Task</a> | <a href="admin/login.php">Administrators Corner </a></td>
</tr>
</table><!-- InstanceEndEditable --></td>
</tr>
<tr>
<td align="right" class="cright" colspan="3">copyright © 2007 PM </td>
</tr>
</table>
</body>
<!-- InstanceEnd --></html>
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








