У меня есть эти два файла: один editprofile.html и edit.php. Я пытаюсь редактировать / обновлять запись и снова отображать ее. Я использую объект XMLHttpRequest, потому что я хочу отображать на определенной части текущей страницы, используя Ajax.
Проблема - он не обновляется, а также обновляет экран и возвращает меня в исходное состояние при первой загрузке файла editprofile. мне нужно знать
(1) почему он не обновляет и не выполняет «если… часть файла edit.php» и
(2) как избежать обновления и очистки полной страницы каждый раз, когда нажимается кнопка «Обновить» (отправить)! Ниже приведен код для двух файлов:
Спасибо, если кто-нибудь может дать мне знать и объяснить, где я ошибся. Помощь высоко ценится.
editprofile.html file
....
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Patient Profile</title>
</head>
<body>
<div class="main">
<div class="hist_wrapper0">
<div class="patient_left">
<h1>The XMLHttpRequest Object</h1>
<form action='' method='post' onclick="showProfile(updp.value)">
<p class="quest1"> Do you want to update the patient data? :
<input type="radio" name="updp" id="updyes" value="Yes" > Yes
<input type="radio" name="updp" id="updno" value="No" checked> No
</p>
</form>
<div id="txtHint0"> Display at this point....
</div>
</div>
</div>
<script>
function showProfile(str) {
var xhttp;
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint0").innerHTML = this.responseText;}
};
xhttp.open("GET", "edit.php", true);
xhttp.send();
}
</script>
</body>
</html>
....
файл edit.php
....
<?php
$con = mysqli_connect("localhost","root","","medical_camps");
// Check connection
if (mysqli_connect_errno())
{echo "Failed to connect to MySQL: " . mysqli_connect_error();}
$id=5; // assign 5 for testing
$icnumber="12345678955555"; // assign number that is in database
// Read data record from database and assigned to $row
$query = "SELECT patient.id, patient.patient_name, patient.ic_num, patient.gender, patient.dob
FROM patient where patient.ic_num='$icnumber'" ;
$result = mysqli_query($con, $query) or die ( mysqli_error($con));
$row = mysqli_fetch_assoc($result);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Update Record</title>
</head>
<body>
<div class="form">
<h1>Update Data</h1>
<?php
$status = "";
if(isset($_POST['new']) && $_POST['new']==1){
$id=$_REQUEST['id'];
$name =$_REQUEST['name'];
$gender =$_REQUEST['gender'];
$dob = $_REQUEST['dob'];
$update="update patient set patient_name='".$name."', gender='".$gender."', dob='".$dob."' where patient.ic_num='".$icnumber."'";
mysqli_query($con, $update) or die(mysqli_error());
$status = "Record Updated Successfully. </br></br><a href='view.php'>View Updated Record</a>";
echo '<p style="color:#FF0000;">'.$status.'</p>';}
else {?>
<form name="form" method="post" action="">
<input type="hidden" name="new" value="1" />
<input name="id" type="hidden" value="<?php echo $row['id'];?>" />
<span class="inline">
<label class="labeltag">Name: </label><input type="text" name="name" size="35" placeholder="Enter Name" required value="<?php echo $row['patient_name'];?>" >
<label class="labeltag">IC-Num: </label><input type="text" name="icnum" maxlength="14" size="12" placeholder="Enter IC-Num" required value="<?php echo $row['ic_num'];?>" >
</span>
<br />
<span class="inline">
<label class="labeltag">Gender: </label><input type="text" name="gender" size="5" placeholder="Enter Gender" required value="<?php echo $row['gender'];?>" >
<label class="labeltag">Dob: </label><input type="text" name="dob" size="12" placeholder="Enter Dob (YYYY-MM-DD)" required value="<?php echo $row['dob'];?>" >
</span>
<p><input id="submit" name="submit" type="submit" value="Update" ></p>
</form>
<?php } ?>
</div>
</body>
</html>
....