わかりましたので、ページの更新を呼び出さずにデータベースを動的に更新するのはかなり初めてです。http://mytinytodo.net/のようなものを、はるかに単純な規模で作成しようとしています
ここで達成しようとしている最終目標は、プログラムが次のことを行うことです。
- フィールドを動的に生成できるようにする (完了)
- PHP 経由のロード時に MYSQL データベースの既存のエントリを Web ページに入力する (完了)
- ユーザーが「すべてチェック」または「すべてチェック解除」できるようにする (完了)
- ユーザーの個人的なリストを覚えておいてください.. Cookie かな?ヘルプ!
- ユーザーが既存のリスト アイテムに加えた変更でデータベースを更新するか、新しく作成されたリスト アイテムをコミットします。AJAX? Jクエリ?ヘルプ!
これまでのところ、この小さなプロジェクトに数時間を費やしてきましたが、ここに私が持っているものがあります:
index.php:
<!doctype html>
<html>
<head>
<metacharset="utf-8" />
<title>Simple To-Do List</title>
<?php
// Create connection via my connect.php file
require 'connect.php';
// Create query
$query = "select * from checklist";
$result = mysql_query($query);
// Create requisite array for checklist
$checklistItems = array();
//Check to ensure query won't implode and is valid
if ($result === FALSE) {
die(mysql_error());
}
// Calculates number of rows from query
$num = mysql_numrows($result);
mysql_close($con);
?>
<!-- javascript code to dynamically add new form fields as well as check\uncheck all boxes -->
<script src="addInput.js" language="Javascript" type="text/javascript"></script>
</head>
<body>
<h1>My To-Dos</h1>
<form name="checklist" id="checklist" action="" method="">
<?php
// Loop through query results
while ($row = mysql_fetch_array($result)) {
$entry = $row['Entry'];
$CID = $row['CID'];
$checked = $row['Checked'];
// echo $CID;
echo "<input type=\"text\" value=\"$entry\" name=\"textfield$CID;\" id=\"textfield$CID;\" />";
echo "<input type=\"checkbox\" value=\"\" name=\"checkbox$CID;\" id=\"checkbox$CID;\" value=\"$checked\"" . (($checked == '1') ? ' checked="checked"' : '') . " />";
echo "<br>";
}
?>
<div id="dynamicInput"></div>
<input type="submit" id="checklistSubmit" name="checklistSubmit"> <input type="button" id="CompleteAll" name="CompleteAll" value="Check All" onclick="javascript:checkAll('checklist', true);"><input type="button" id="UncheckAll" name="UncheckAll" value="Uncheck All" onclick="javascript:checkAll('checklist', false);">
<input type="button" value="Add another text input" onClick="addInput('dynamicInput');"></form>
</body>
</html>
connect.php
<?php
// Create connection
$con=mysql_connect("localhost","root","");
$selected = mysql_select_db("madmonk",$con);
// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysql_connect_error();
}
?>
要約すると、フォーム フィールドの 1 つに "onchange" が発生したときに、投稿ファイルでページ全体をスローしてから URL をリダイレクトすることなく、ユーザー リストを慎重に更新するにはどうすればよいでしょうか? リフレッシュしたくありません。
ユーザーが誰で、ユーザーの個人的なアイテムのリストが何であるかを記憶する Cookie を作成するにはどうすればよいですか?
これは、このようなことへの私の最初の本当の試みです。明らかに、私はまだ「スタイリング」段階に近づいていないので、CSS や派手なものはありません。
編集: したがって、訪問者を互いに区別するために使用している(本質的に)一意のセッション変数があり、データベースに新しい「チェックリスト」を作成すると、「uid」がそこに記録されます。したがって、システムはセッションが続く限りそれらを「記憶」します...これは、あなたの何人かが私がしていることをほのめかしていたことだと思います.