6章のクイズ
================================================================================
6章のクイズを、Smartyを使って再構築する。
1. コーステーブルのすべてのデータのリストを表示する
PHPプログラム。
2. スケジュールテーブルで、指定したスタッフの
スケジュールだけを表示するPHPプログラム。
(オプション) スタッフの指定は、$_GET['code']で受け取るようにする。
3. スタッフの名前が選択リストとして表示されるようにする。
(ヒント) 選択リストのタグ
■1.
□smartyquiz1.php
---
";
print mysql_error($link);
exit();
}
$rows = mysql_num_rows($result);
if ($rows < 1) {
print "データが存在しませんでした。";
exit();
}
?>
---
■2.
□smartyquiz2.php
---
getMessage() . "
";
echo $cn->getDebugInfo() ."
";
exit();
}
// パラメーターを取得
if (!isset($_GET['staff'])) {
print "パラメーターstaffを指定してください。";
exit();
}
$staff_code = $_GET['staff'];
// SQL文を実行
$sql = "SELECT code, course, staff, start_date, end_date
FROM schedule
WHERE staff = $staff_code ";
$ret = $cn->query($sql);
if( DB::isError($ret) ){
echo $ret->getMessage() . "
";
echo $ret->getDebugInfo() . "
";
exit();
}
$rows = $ret->numRows();
if ($rows < 1) {
print "データが存在しませんでした。";
exit();
}
?>
コード |
コースコード |
コース名 |
スタッフコード |
スタッフ名 |
開始日 |
終了日 |
fetchRow(DB_FETCHMODE_ASSOC)) {
?>
|
|
|
|
|
|
|
free();
$cn->disconnect();
?>
---
■2a.
※テーブルを結合
※preparedステートメント使用
□smartyquiz2a.php
---
getMessage() . "
";
echo $cn->getDebugInfo() ."
";
exit();
}
// パラメーターを取得
if (!isset($_GET['staff'])) {
print "パラメーターstaffを指定してください。";
exit();
}
$staff_code = $_GET['staff'];
// SQL文を実行
$sql = "SELECT schedule.code, schedule.course, course.title,
schedule.staff, staff.name,
schedule.start_date, schedule.end_date
FROM schedule, course, staff
WHERE schedule.course = course.code
AND schedule.staff = staff.code
AND staff = ?
";
$host_params = array($staff_code);
$ret = $cn->query($sql, $host_params);
if( DB::isError($ret) ){
echo $ret->getMessage() . "
";
echo $ret->getDebugInfo() . "
";
exit();
}
$rows = $ret->numRows();
if ($rows < 1) {
print "データが存在しませんでした。";
exit();
}
?>
コード |
コースコード |
コース名 |
スタッフコード |
スタッフ名 |
開始日 |
終了日 |
fetchRow(DB_FETCHMODE_ASSOC)) {
?>
|
|
|
|
|
|
|
free();
$cn->disconnect();
?>
---
■3.
□smartyquiz3.php
---
getMessage() . "
";
echo $cn->getDebugInfo() ."
";
exit();
}
// SQL文を実行
$sql = "SELECT code, name FROM staff order by name";
$ret = $cn->query($sql);
if( DB::isError($ret) ){
echo $ret->getMessage() . "
";
echo $ret->getDebugInfo() . "
";
exit();
}
$rows = $ret->numRows();
if ($rows < 1) {
print "データが存在しませんでした。";
exit();
}
?>
free();
$cn->disconnect();
?>
---