ToDoリストの「完了済」を非表示にしたい
現在ToDoリストを作成しており、最終的に実現させたい動作はタイトルのとおりですが、数点分からないことがありますので質問させてください。
したい事
1、htmlで「No」「タイトル」「内容」「期限」「優先度」と「登録」ボタンで入力するフォームを設置。
2、入力フォームからMySQLのデータベースに登録。
3、「登録確認」画面を表示。
4、「全て」というページに全予定を表示させ、各行頭「済」フィールドにチェックボックスと「完了済」ボタンを1つ配置。
5、完了した項目のチェックボックスにチェックを入れてボタンを押すと、「全て」というページ内で非表示にする。
以上のことをしたいと考えております。
現在、4つ目まではできました。
そこでお詳しい方にお聞きしたいことが以下です。
質問
A、チェックボックスにチェックが入って「いる」「いない」はPHPおよびMySQLはどう判断するのでしょう?
B、データベースの「済」フィールドではデータ型は何がふさわしいのでしょうか?(※今はverchar(1)としています)
C、「完了済みの項目にチェックを入れ、それを非表示にする」という動作はUPDATE文とSELECT文でいいのでしょうか?
疑問点はまだいくつかございますが、この3つが分かれば、あとは入門サイトなどネット上での解説も理解できそうな気がするのです。
以下にコードを貼りますので、おかしな点や修正すべき箇所がございましたらご指摘ください。
また、回答に必要な情報がございましたらすぐに返答させていただきます。
そもそもPHPやMySQLの基礎の理解に欠けているというご指摘もございましょうが、何卒よろしくお願いいたします。
<html>
<head>
<title>ToDoリスト</title>
</head>
<body>
<?php
echo("No");
?>
<br>
<?php
echo(htmlspecialchars($_REQUEST["No"]));
?>
<br><br>
<?php
echo("タイトル");
?>
<br>
<?php
echo(htmlspecialchars($_REQUEST["タイトル"]));
?>
<br><br>
<?php
echo("期限");
?>
<br>
<?php
echo(htmlspecialchars($_REQUEST["期限"]));
?>
<br><br>
<?php
echo("優先度");
?>
<br>
<?php
echo(htmlspecialchars($_REQUEST["優先度"]));
?>
<br><br>
<?php
echo("内容");
?>
<br>
<?php
echo(htmlspecialchars($_REQUEST["内容"]));
?>
<br><br>
<?php
if( isset($_REQUEST["済"]) != "" )
{
$conn = mysql_connect( "localhost", "root", "○○○" );
if( $conn == false )
{
die("MySQL 接続エラー");
}
mysql_set_charset( "sjis" );
mysql_select_db( "todo" );
$sql = " UPDATE todo SET 済="※ここにどんな値を入れたらよいか分かりません。" ;
$sql = $sql . " VALUES( ";
$sql = $sql . "'" . $_REQUEST["済"] ."' , ";
$sql = $sql . "'" . $_REQUEST["No"] ."' , ";
$sql = $sql . "'" . $_REQUEST["タイトル"] ."' , ";
$sql = $sql . "'" . $_REQUEST["期限"] ."' , ";
$sql = $sql . "'" . $_REQUEST["優先度"] ."' , ";
$sql = $sql . "'" . $_REQUEST["内容"] ."' ) ";
$todo_list = mysql_query( $sql );
if( $todo_list == false )
{
echo("エラーが発生しました。");
}
else
{
echo("正常に更新されました。");
}
mysql_close();
}
?>
<br><br>
<a href="http://localhost/continuity_is_power01/continuity_is_power.htm">
<input type="submit" value="戻る">
</a>
</body>
</html>
お礼
ありがとうございます。 回答はまだ受付中です。よろしくお願いします。