Почему значение Android CheckBox не сохраняется в MySQL?

Я создал систему, в которой у меня есть несколько CheckBox, и я сохраняю проверенное значение в базе данных MySQL с помощью залп, однако в базе данных значение не отображается.

ниже мой код для флажка:

if (checkBoxBus.isChecked()){
    checkbus = checkBoxBus.getText().toString();
}
if (checkBoxTrain.isChecked()){
    checktrain = checkBoxTrain.getText().toString();
}
if (checkBoxPrivateRickshaw.isChecked()){
    checkrickshaw = checkBoxPrivateRickshaw.getText().toString();
}
if (inputfrom.getEditText().equals("") || inputTo.getEditText().equals("") ||
            inputdescription.getEditText().equals("")){
    builder.setMessage("Please fill the information");
}

Ниже мой код для залп:

protected Map<String, String> getParams() throws AuthFailureError {
    Map<String,String> params = new HashMap<String, String>();
    params.put("from",from);
    params.put("to",to);
    params.put("travel_type",traveltype);
    params.put("workdescription",workdescription);
    params.put("passcheckbox",checktrain);
    params.put("trainpass",trainpass);
    params.put("passimage",passimage);
    params.put("transportmode",transportmode);
    params.put("payment",payment);
    params.put("finalamount",totalpayment);
    params.put("remaining_amount",remainingamount);
    return params;
}
};
Singleton.getInstance(MainActivity.this).addToREquestQueue(stringRequest);
}

Все сохраняется, кроме значения флажка, поэтому, пожалуйста, кто-нибудь может помочь мне, где я ошибаюсь

Код PHP

 <?php
include("conn.php");

$from = $_POST['from'];
$to = $_POST['to'];
$travel_type = $_POST['travel_type']; 
$workdescription = $_POST['workdescription'];
$passcheckbox = $_POST['passcheckbox'];
$trainpass = $_POST['trainpass'];
$buscheck = $_POST['buscheck'];
$image = $_POST['image'];
$name = $_POST['name'];
$rickshawcheck = $_POST['rickshawcheck'];
$transportmode = $_POST['transportmode'];
$payment = $_POST['payment'];
$finalamount = $_POST['finalamount'];
$remaining_amount = $_POST['remaining_amount'];

$response = array();
$sql = "INSERT INTO users2
    (arrival,destination,travel_type,work_description,'passcheckbox',train_pass,
    'buscheck',pass_image,'rickshawcheck',transport_mode,payment,total_amount,remaining_amount)
        VALUES
        ('$from','$to','$travel_type','$workdescription',$passcheckbox,'$trainpass','$buscheck','$name','$rickshawcheck','$transportmode','$payment','$finalamount','$remaining_amount');";
        $upload_path = "uploads/$name.jpg";
        file_put_contents($upload_path, base64_decode($image));
        if (mysqli_query($conn,$sql)){

        $code = "Your_data_has_been_submitted";
        array_push($response,array("code"=>$code));
        echo json_encode($response);
    }
?>
<!DOCTYPE html>
<html>  
<head>
    <title></title>
</head>
<body>
    <form method = "post">
<input type = "text" name = "from">
<input type = "text" name = "to">
<input type = "text" name = "workdescription">
<input type = "checkbox" name = "passcheckbox">
<input type = "text" name = "trainpass">
<input type = "checkbox" name = "buscheck">
<input type = "text" name = "name">
<input type = "file" name = "image">
<input type = "text" name = "transportmode">
<input type = "text" name = "payment">
<input type = "text" name = "finalamount">
<input type = "submit" name = "btn_submit">
</form>
</body>
</html>

Зарегистрируйте значение params и checktrain = checkBoxTrain.getText (). ToString (); значение. Посмотрите, что печатается в терминале

Kaveesh Kanwal 30.03.2018 10:48

сначала отобразите значение чека, чтобы застраховать их

EL TEGANI MOHAMED HAMAD GABIR 30.03.2018 10:55

проверьте ответ еще раз ... если все в порядке, отметьте его как правильный @Smith

EL TEGANI MOHAMED HAMAD GABIR 30.03.2018 11:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
258
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Чтобы прочитать значение флажка - следуйте соответствующему руководству по Android.

https://www.android-examples.com/how-to-get-checkbox-checked-value-in-android/

Ссылка только на ответы не приветствуются. Ссылка может истечь в будущем
Jyoti JK 30.03.2018 11:03

Привет, на самом деле я вызываю checkbox.isChecked в моей кнопке onclick listener, и я проверил переменную флажка, в которой хранятся данные

user9550968 30.03.2018 11:14
Ответ принят как подходящий
//get the value
boolean checkbus = checkBoxBus.isChecked();

// in volley request                                     
params.put("passcheckbox",String.valueOf(checkbus));


//in log
Log.d(TAG,"checkbus" + String.valueOf(checkbus));

в php вы забыли вставить checkvalue$passcheckbox$buscheck$rickshawcheck в БД

привет, сэр, я меняю свой php-код, но теперь он ничего не вставляет. Я обновил свой php-код другими значениями.

user9550968 30.03.2018 11:54

Я добавил необходимые значения, но теперь ничего не вставляет

user9550968 30.03.2018 11:56

вы должны убедиться, что все параметры существуют в команде вставки ... с их столбцами @Smith

EL TEGANI MOHAMED HAMAD GABIR 30.03.2018 11:57

Сэр, если вы уверены, что все данные отправлены с Android правильно, тогда проблема на стороне php, в частности, при вставке

EL TEGANI MOHAMED HAMAD GABIR 30.03.2018 12:00

сэр, я проверил имена столбцов mysql, это правильно, и в запросе вставки я передал одинаковое количество параметров, пока он ничего не показывает

user9550968 30.03.2018 12:02

Вы проверили контрольные значения в журнале Android, я имею в виду, что значение существует?

EL TEGANI MOHAMED HAMAD GABIR 30.03.2018 12:08

Здравствуйте, @AL Тегани, сэр, я исправил свою ошибку, это было на php, спасибо за ваше время и терпение и тысячу голосов за ваш ответ

user9550968 30.03.2018 12:08

добро пожаловать .. если ответ был полезен для вас, отметьте как правильный @Smith

EL TEGANI MOHAMED HAMAD GABIR 30.03.2018 12:10

Сэр, еще один вопрос: когда я загружаю изображение, щелкнув изображение, изображение либо не отображается в папке загрузок, либо отображается пустая страница, есть ли проблема с моим PHP-кодом

user9550968 30.03.2018 12:14

используйте этот код для загрузки изображения ..// Проверьте, является ли файл изображения действительным или поддельным if (isset ($ _ FILES ["file"])) {if (move_uploaded_file ($ _ FILES ["file"] ["tmp_name "], $ target_file_name)) {// готовое изображение загружено} else {// изображение не загружено}}

EL TEGANI MOHAMED HAMAD GABIR 30.03.2018 12:25

привет, сэр, я отладил свой код Android, и это строка, которая вызывает проблему params.put ("image", imageToString (bitmap)); частная строка imageToString (растровое изображение) {ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream (); bitmap.compress (Bitmap.CompressFormat.PNG, 100, byteArrayOutpu‌ tStream); byte [] imgbytes = byteArrayOutputStream.toByteArray (); вернуть Base64.encodeToString (imgbytes, Base64.DEFAULT); }

user9550968 30.03.2018 12:38

какие-либо предложения

user9550968 30.03.2018 12:38

Другие вопросы по теме