すべてが 1 つの php ファイルで行われます
HTMLコード
<td>
<input type="text" name="date_day1" id="date_day1"
value="<?php echo $_POST['date_day1']?>" size="1">
</td>
<td>
<input type="text" name="amount1" id="amount1"
value="<?php echo $_POST['amount1']?>" size="5"></td>
次にジャバスクリプト
<script type="text/javascript">
//cross-browser xmlHTTP getter
function getHTTPObject() {
var xmlhttp; // The variable that makes Ajax possible!
//Global XMLHTTP Request object
//Creating object of XMLHTTP in Internet Explorer
try {
XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc) {
XmlHttp = null;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
// Set var the new request Opera 8.0+, Firefox, Safari
xmlhttp = new XMLHttpRequest();
}//try {
catch (e) {//if it fails move onto the next
xmlhttp = false;
}//catch (e) {
}//if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
return xmlhttp;
}//function getHTTPObject() {
function init(){
window.setInterval(autoSave,3000); // 15000=15 seconds
}
function autoSave(){
var date_day1 = document.getElementById("date_day1").value;
var amount1 = document.getElementById("amount1").value;
var params = "date_day1="+date_day1+"&amount1="+amount1;
var http = getHTTPObject();
http.open("POST", window.location.href, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.send(params);
}
</script>
そしてphp
$date_day1 = $_POST['date_day1'];
$amount1 = $_POST['amount1'];
$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if($_SERVER["REQUEST_METHOD"]=="POST"){
if ($stmt = mysqli_prepare($mysqli,
"UPDATE 2_1_journal SET Amount = ? WHERE RecordDay = ? ") ) {
$stmt->bind_param( 'ds', $amount1 , $date_day1 );
$stmt->execute();
echo $date_day1 .' date_day1 from update<br>';
echo $amount1 .' amount1<br>';
}
}
それで何が起こるか。ボタンをクリックせずに Javascript (ajax) を使用すると、ユーザー入力が取得され、php コードに送信されます。Php コードは mysql を更新します。つまり、送信ボタンをクリックしなくても、更新する PHP 変数が作成されるということです ($amount1 , $date_day1)?
しかし、これらの変数が後で存在しないのはなぜですか? ページを更新せずに(送信ボタンをクリックせずに)変数を使用したい。たとえば、入力フォームでは value="" として
どうやってするか?私が理解しているように、jsonを使用する必要がありますか? しかし、私が見つけた情報からは理解できません.... jsonでユーザー入力(またはmysqlからの値)をinput value=""に渡す方法を段階的に書くことができますか
または、すべてがどのように機能するかの本/チュートリアル(ダミーが理解するための本/チュートリアル)でしょうか?