HTML入力フォームの一部
<input type='text' id='age' />
<input type='hidden' id='auto_increment_number_from_mysql' />
ユーザーが年齢を入力します。ajaxで入力を自動保存したい。
これは ajax コードの一部です。Ajax はユーザー入力を取得し、それを php に渡します
function autoSave(){
var age = document.getElementById("age").value;
var params = "age="+age;
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);
}
PHPで年齢を取得(ユーザー入力)
$age = $_POST['age'];
mysqlに記録します。したがって、mysql の結果は、列 auto_increment_number (値は 1) と age (値は age - ユーザー入力) の行です。
次にphpでauto_increment_numberから値を取得します
if ($stmt = mysqli_prepare($mysqli, "SELECT auto_increment_number FROM table_name WHERE age = ? ")) {
$stmt->bind_param('s', $age);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($auto_increment_number, $age);
$stmt->fetch();
次に、ajaxでサーバーからデータを受信します
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('ajaxDiv');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
var age = document.getElementById('age').value;
var wpm = document.getElementById('auto_increment_number').value;
var queryString = "?age=" + age + "&auto_increment_number =" + auto_increment_number;
ajaxRequest.open("GET", window.location.href, true);
ajaxRequest.send(null);
}
その後、最終的に可能な出力になります
<div id='ajaxDiv'>Your result will display here</div>
しかし、mysql から auto_increment_number を渡す方法
お気に入り
それはまったく可能ですか?
このすべての目的は次のとおりです。
1) ユーザーが年齢を入力
2) auto_increment_number の値がない場合は、これが最初の初期入力であり、mysql に新しい行を記録する必要があることを意味します。ユーザー入力に auto_increment_number が存在する場合、mysql でそれを見つけて更新する必要があります。
それとも、目標を達成するためのより良い方法でしょうか?