ユーザーが画像をグレーディングし、別のフォームをページに動的に追加して次のフォームをグレーディングできるようにするスクリプトがあります。画像グレードが入力されると、データベースに入力され、新しく作成されたフォームの上のページに ID のリストで表示されますresponds
。
DIV
これはすべてうまく機能しますが、ID を使用して、ページの上部に監査された画像の数の実行中のカウントを表示することもできますresults
。
のJQuery
$("#FormSubmit").click(function (e) {
e.preventDefault();
if($("#grade").val()!='1')
{
if($("#positioning_reason").val() == '' &&
$("#exposure_reason").val() == '' &&
$("#equipment_reason").val() == '' &&
$("#patient_reason").val() == '')
{
alert("Please select why the image was not perfect");
return false;
}
}
jQuery.ajax({
type: "POST",
url: "response.php",
dataType:"text",
data: $('#test_form').serialize(),
success:function(response){
$("#responds").append(response);
$('#test_form')[0].reset();
$("#test_form").get(0).scrollIntoView();
$("#results").display $numRows in this div
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
}
});
});
response.php
//include db configuration file
include 'includes/db_connect.php';
if(isset($_POST['grade']))
{
$grade = $_POST['grade'];
$positioning = $_POST['positioning_reason'];
$exposure = $_POST['exposure_reason'];
$patient = $_POST['patient_reason'];
$equipment = $_POST['equipment_reason'];
$user_id = $_POST['user_id'];
$audit_id = $_POST['audit_id'];
$sql= "INSERT INTO image(auditID, imageGrade,positioning_reasonID,exposure_reasonID,patient_reasonID,equipment_reasonID,auditDate,userID) VALUES('$audit_id', $grade,'$positioning','$exposure','$patient','$equipment',NOW(),$user_id)";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
if($result)
{
$sql = "SELECT * FROM image WHERE auditID = '$audit_id'";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
$numRows = mysqli_num_rows($result);
$my_id = mysqli_insert_id($mysqli);
$output_array = array(
'my_id' => $my_id,
'grade' => $grade,
'numRows' => $numRows
);
}else{
header('HTTP/1.1 500 Looks like mysql error, could not insert record!');
exit();
}
}
elseif(isset($_POST["recordToDelete"]) && strlen($_POST["recordToDelete"])>0 && is_numeric($_POST["recordToDelete"]))
{
$idToDelete = $_POST["recordToDelete"];
$sql = "DELETE FROM image WHERE imageID = $idToDelete";
$result = $result = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
if(!$result)
{
header('HTTP/1.1 500 Could not delete record!');
exit();
}
}
else
{
header('HTTP/1.1 500 Error occurred, Could not process request!');
exit();
}
echo json_encode($output_array);
$numRows という値を 'results' という div に表示したいと思います (現在、テスト目的で他のすべての結果とともに表示されています)。ページのさらに下にある別のページ読み込み関数を使用して、別の php ページから $numRow 値を取得しようとしましたが、非常に遅く、タイミングのために結果が常に正しいとは限りませんでした