0
我正在嘗試編寫一個更改某個公寓的可用性的php代碼。這裏是我的代碼:Mysql表格單元格不會在點擊時更改值
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
$servername = "localhost";
$username = "bla";
$password = "blabla";
$dbname = "testDB";
// Create connection
$connect = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if ($connect->connect_error) {
die("Connection failed: " . $connect->connect_error);
}else{
echo "Connected successfully to the database: " . $dbname . "<br><br>";
}
$query = "SELECT * FROM test";
$result = mysqli_query($connect, $query);
$row = mysqli_fetch_array($result);
echo "id: " . $row["id"] . " // Address: " . $row["address"] . " // Rooms: " . $row["rooms"] . " // Availability: " . $row["availability"] . ".<br>";
?>
<form method ="post" action ="<?php $_PHP_SELF ?>">
<input name="update" type="submit" value="Change Availability">
</form>
<?php
if(isset($_POST["update"])) {
$avail = mysqli_query($connect,"SELECT availability FROM test WHERE id='1'");
$availCheck = mysqli_fetch_array($avail);
settype($availCheck, "int");
if($availCheck == 1){
$upAvail = mysqli_query($connect,"UPDATE test SET availability='0' WHERE id='1'");
}else{
$upAvail = mysqli_query($connect,"UPDATE test SET availability='1' WHERE id='1'");
}
}
?>
</body>
</html>
這是輸出我得到:
成功連接到數據庫:TESTDB
ID:1 //地址:3787間科特迪瓦沙漠Neiges酒店客房//: 2 //可用性:1. 更改Availability
所以這是我的問題。當可用性爲1時,按下按鈕它將變爲0.但在此之後,當我再次按下按鈕時,它不會變回1.
爲什麼?
謝謝你的幫助。
謝謝你這麼多@noahnu就解決了!但讓我問你。有沒有辦法做同樣的事情,但使用我的邏輯?獲得每次點擊的可用性值,將其保存到變量中,然後使用if語句更改該值?僅出於教育原因。 – Rorrim
是的。我編輯了我的答案。查看最後的代碼片段。我建議在嘗試訪問關聯索引之前檢查mysqli_fetch_array是否爲空/假。 – noahnu
是的,我問你後,我回答了我自己的問題!再次感謝你! @noahnu – Rorrim