사용자가 데이터베이스를 변경하기로 결정한 경우이 호텔에서 두 필드를 업데이트하려는 아약스 기능을 구축했습니다.이 코드는 호텔 객실 인쇄 (학교 지정) 현재 정보, ID 등 :아약스를 통해 값을 보내면 아무 것도 발생하지 않습니다.
<?php
include('php/connect.php');
$chquery = "SELECT * FROM rooms";
$chresult = mysqli_query($conn, $chquery);
while($chrow = mysqli_fetch_array($chresult)){
echo "<div class='edit_roomRow'>";
echo "<h1> Rum " . $chrow['ID'] . "</h1>";
echo "<form>";
echo "Rumsnummer:<br> <input id='c-roomnumber' type='text' value = '" . $chrow['ID'] . "' placeholder='" . $chrow['ID'] . "'><br>";
echo "Beskrivning:<br> <input id='c-description' type='text' value = '" . $chrow['Description'] . "'placeholder='" . $chrow['Description'] . "'>";
echo "</form>";
echo "<br>";
echo "</div>";
echo "<div class='btn btn-warning change-btn' data-value='". $chrow['ID'] . "'style='float: right; margin-top: 100px;'>Ändra</div>";
echo "<hr/>";
}
mysqli_free_result($chresult);
mysqli_close($conn);
?>
여기에 아무 것도 없으며 모든 값이 올바른 것처럼 보입니다.
<script type="text/javascript">
$(".change-btn").click(function(){
var id = $(this).attr("data-value");
var description = $("#c-description").val();
var roomnumber = $("#c-roomnumber").val();
//Call to ajax
$.ajax({
method:"GET",
url: "php/changepost.php",
data:{ id: id, description: description, roomnumber: roomnumber },
success: function(){
$(this).val("");
$("#c-description").val("");
$("#c-roomnumber").val("");
//Reload specific div with rooms, avoid full page reload
$(".changerooms").load(location.href + " .changerooms");
}
})
})
</script>
모든 값이 PHP에서 전송되어 있는지 확인하려면 (버튼에서 올바른 ID, 설명 & 방 번호) 내가 결국 그들을 경고 : 는 여기에 내가이 양식에서 정보를 보내 아약스의 ajax 파일의 모든 값이 정확합니다. 여기 그런
나는 새 값으로 DB를 업데이트하려고 :
이<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
include('connect.php');
if(isset($_GET['id'])){
$changequery = "UPDATE rooms SET ID = $_GET['roomnumber'], Description = $_GET['description'] WHERE ID = $_GET['id']";
//Perform $changequery
mysqli_query($conn, $changequery);
}
mysqli_close($conn);
?>
내가 여기 꺼져 아무것도 볼 수 없습니다, 그러나 당신이 무언가를보고, 그래서 만약 내가, 대부분 종류의 새로운 AJAX와 나는 그 잘못된 것, 내가 얻을 수있는 도움을 기뻐할 것입니다 .. :)
당신이 아약스에서 POST에 도착하고 $ _GET에 $ _POST 또는 실제로 그 시점에지고 있는지 확인하기 위해 바로는 isset 문에) 다이를 (넣어 변경해보십시오. – Jeff
첫째 : 당신은 성공을 사용하여 반환 된 데이터를 경고해야합니다 : function (data) {alert (data);} 그리고 오류가 있는지보십시오 .. 두 번째 : 나는 성공에서 $ (this)가 작동하지 않을 것이라고 생각합니다 ThisIt = $ (이); click 이벤트의 시작 부분에서 ThisIt을 $ (this) –
mysqli_query() 대신 true로 사용하면 true 또는 false를 반환하겠습니까? GET 매개 변수 값이 이스케이프됩니까? –