gpt4 book ai didi

php - 通过PHP脚本在Android中根据Checkbox点击填充MySQL表

转载 作者:行者123 更新时间:2023-11-29 07:03:03 24 4
gpt4 key购买 nike

我正在开发一个Android应用程序,它通过PHP脚本将数据从应用程序发送到在线MYSQL数据库。该应用程序用于记录用户的输入值。我还有一个复选框,用于检查是否用户缺席并且没有任何记录要填写。数据库表中有一个名为“ABSENT”的列,当用户输入数据后单击“提交”时,该列将被标记为“NO”。并且“ABSENT”列如果单击该复选框,则将被标记为“YES”,并且输入字段的值将填充 0。因此,我想做的是,如果用户输入值并单击“提交”按钮,我会调用AsyncTask 并传递每个输入字段的值以及“ABSENT”列的字符串值。

String type = "insertDetails";
String absent = "No";
BackgroundAsyncTask asyncTask = new BackgroundAsyncTask(InsertDataActivity.this);
asyncTask.execute(type,enquiryValue,retailValue,collectionValue,
bookingValue,evaluationValue,testDriveValue,homeVisitValue,
username,dateValue,absent);

复选框代码是:

boolean checked = ((CheckBox) v).isChecked();
if (checked) {
Toast.makeText(getApplicationContext(),"You are marked as absent for the Day.",Toast.LENGTH_SHORT).show();
String type = "insertDetails";
String absent = "Yes";
BackgroundAsyncTask asyncTask = new BackgroundAsyncTask(InsertDataActivity.this);
asyncTask.execute(type,enquiryValue,retailValue,collectionValue, bookingValue,evaluationValue,testDriveValue,homeVisitValue,
username,dateValue,absent);

AsyncTask 代码是:

if (type.equals("insertDetails")){
try {
String enquiry = params[1];
String retail = params[2];
String collection = params[3];
String booking = params[4];
String evaluation = params[5];
String test_drive = params[6];
String home_visit = params[7];
String user_name = params[8];
String dateTime = params[9];
String absent = params[10];

URL url = new URL(insertData_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
String post_data = URLEncoder.encode("enquiry", "UTF-8") + "=" + URLEncoder.encode(enquiry,"UTF-8") + "&"
+ URLEncoder.encode("retail","UTF-8") + "="+ URLEncoder.encode(retail,"UTF-8") + "&"
+ URLEncoder.encode("collection", "UTF-8") + "=" + URLEncoder.encode(collection,"UTF-8") + "&"
+ URLEncoder.encode("booking", "UTF-8") + "=" + URLEncoder.encode(booking,"UTF-8") + "&"
+ URLEncoder.encode("evaluation", "UTF-8") + "=" + URLEncoder.encode(evaluation,"UTF-8") + "&"
+ URLEncoder.encode("test_drive", "UTF-8") + "=" + URLEncoder.encode(test_drive,"UTF-8") + "&"
+ URLEncoder.encode("home_visit", "UTF-8") + "=" + URLEncoder.encode(home_visit,"UTF-8") + "&"
+ URLEncoder.encode("user_name", "UTF-8") + "=" + URLEncoder.encode(user_name,"UTF-8") + "&"
+ URLEncoder.encode("date", "UTF-8") + "=" + URLEncoder.encode(dateTime,"UTF-8")
+URLEncoder.encode("absent","UTF-8") + "=" + URLEncoder.encode(absent,"UTF-8");

向 MYSQL 发送数据的 PHP 脚本是:

    $enquiry = $_POST["enquiry"];
$retail = $_POST["retail"];
$collection = $_POST["collection"];
$booking = $_POST["booking"];
$evaluation = $_POST["evaluation"];
$test_drive = $_POST["test_drive"];
$home_visit = $_POST["home_visit"];
$user_name = $_POST["user_name"];
$update_date = $_POST["date"];
$absent = $_POST["absent"];

$mysql_qry1 = "INSERT INTO employee_details(enquiry,retail,
collection,booking, evaluation, test_drive, home_visit, name, date,time,absent) values ('$enquiry','$retail','$collection','$booking','$evaluation','$test_drive',
'$home_visit','$user_name','$update_date','$time','$absent');";
$conn->query($mysql_qry1);

但这并没有产生所需的结果。当我尝试插入数据时,“ABSENT”列为空。谁能帮我解决这个问题?

最佳答案

您在第一行末尾的 post_data 初始化代码中忘记了 + "&" :

+ URLEncoder.encode("date", "UTF-8") + "=" + URLEncoder.encode(dateTime,"UTF-8")
+ URLEncoder.encode("absent","UTF-8") + "=" + URLEncoder.encode(absent,"UTF-8");

结果你会得到奇怪的日期并且没有缺失的参数。只需添加 &

关于php - 通过PHP脚本在Android中根据Checkbox点击填充MySQL表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42693853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com