[英]Storing android checkbox state in SQL database
我正在創建一個應用程序,該應用程序將允許用戶使用其姓名,年齡等進行注冊。我將所有這些信息存儲在如下所示的User類中。
public class User {
String name, username, password, phoneNumber;
int age;
//constructor
public User(String _name, String _username, String _password, String _phoneNumber, int _age){
name = _name;
username = _username;
password = _password;
phoneNumber = _phoneNumber;
age = _age;
}
}
我將數據發送到PHP腳本以存儲在SQL數據庫中。 該代碼如下:
protected Void doInBackground(Void... params) {
ArrayList<NameValuePair> dataToSend = new ArrayList<>();
dataToSend.add(new BasicNameValuePair("name", user.name));
dataToSend.add(new BasicNameValuePair("age", user.age + ""));
dataToSend.add(new BasicNameValuePair("username", user.username));
dataToSend.add(new BasicNameValuePair("password", user.password));
dataToSend.add(new BasicNameValuePair("phoneNumber", user.phoneNumber));
HttpParams httpRequestParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);
HttpClient client = new DefaultHttpClient(httpRequestParams);
HttpPost post = new HttpPost(SERVER_ADDRESS + "Register.php");
try{
post.setEntity(new UrlEncodedFormEntity(dataToSend));
client.execute(post);
}catch(Exception e){
e.printStackTrace();
}
return null;
}
現在,我想創建大約10個可以存儲其狀態(選中與未選中)的復選框。 我知道我可以在User類中創建一堆布爾值,但這似乎很麻煩且不明智。 因此,我的問題是,如何最好地將CheckBox數據存儲在SQL數據庫中?
供參考,PHP腳本如下:
<?php
$con = mysqli_connect("localhost", "root", "", "is_clients");
$name = $_POST["name"];
$age = $_POST["age"];
$username = $_POST["username"];
$password = $_POST["password"];
$phoneNumber = $_POST["phoneNumber"];
$statement = mysqli_prepare($con, "INSERT INTO user (name, age, username, password, phoneNumber) VALUES (?, ?, ?, ?, ?) ");
mysqli_stmt_bind_param($statement, "sisss", $name, $age, $username, $password, $phoneNumber);
mysqli_stmt_execute($statement);
mysqli_stmt_close($statement);
mysqli_close($con);
?>
您可以將數組傳遞給PHP,該數組中的每個元素都可以是一個復選框值。 在PHP中,您可以通過使用帶有方括號的變量(例如checkBoxesArr [])來執行此操作,以便可以使用相同的變量,並且每次出現都將是數組中的另一個元素。
因此,在Java中(checkBoxXXXValue可以為二進制或布爾值):
dataToSend.add(new BasicNameValuePair("checkBoxArr[]", checkBoxOneValue));
dataToSend.add(new BasicNameValuePair("checkBoxArr[]", checkBoxTwoValue));
dataToSend.add(new BasicNameValuePair("checkBoxArr[]", checkBoxThreeValue));
PHP:
$checkBoxArr = $_POST['checkBoxArr'];
print_r($checkBoxArr);
那是你想要的嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.