i have ToggleButton that do 2 function if it checked it will insert item in database mysql if not it will delete item from mysql the first function is work but the second is not it say that
10-25 16:14:05.618: D/Delete student In manage(401): {"message":"No student found","success":0}
and i am sure about that the student is fund because i insert it before when i click check for the ToggleButton
toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
// absent
id = student.get(holder.position)
.get(TAG_StudentID);
new ManageAttendance().execute();
} else {
id = student.get(holder.position)
.get(TAG_StudentID);
new DeleteInManage().execute();
}
}
});
the whole code
public class MyCustomAdapter extends ArrayAdapter<HashMap<String, String>> {
JSONParser jsonParser = new JSONParser();
private static String url_delete_in_manage = "http://10.0.2.2/SmsPhp/delete_in_manage.php";
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(resource, parent, false);
holder = new ViewHolder();
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.position = position;
holder.toggle
.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
// absent
id = student.get(holder.position)
.get(TAG_StudentID);
new ManageAttendance().execute();
} else {
id = student.get(holder.position)
.get(TAG_StudentID);
new DeleteInManage().execute();
}
}
});
return convertView;
}
private static class ViewHolder {
ToggleButton toggle;
}
/*****************************************************************
* Background Async Task to Delete student
/*****************************************************************
* Background Async Task to Delete student
* */
class DeleteInManage extends AsyncTask<String, String, String> {
protected String doInBackground(String... args) {
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
Date = mYear + "-" + mMonth + "-" + mDay;
c1 = "77";
Status ="A";
// Check for success tag
int success;
try {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("StudentID", id));
params.add(new BasicNameValuePair("Date", Date));
params.add(new BasicNameValuePair("SectionID", c1));
params.add(new BasicNameValuePair("Status", Status));
// getting student details by making HTTP request
JSONObject json = jsonParser.makeHttpRequest(
url_delete_in_manage, "POST", params);
// check your log for json response
Log.d("Delete student In manage ", json.toString());
// json success tag
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// student successfully deleted
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
}
}
the php code that call when it want to delete
<?php
/*
* Following code will delete a student from table
* A student is identified by student id
*/
// array for JSON response
$response = array();
// check for required fields
if (isset($_POST['StudentID']) && isset($_POST['Date']) && isset($_POST['SectionID']) && isset($_POST['Status']))
{
$StudentID = $_POST['StudentID'];
$Date = $_POST['Date'];
$SectionID = $_POST['SectionID'];
$Status = $_POST['Status'];
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// mysql update row with matched pid
$result = mysql_query("DELETE FROM attends WHERE StudentID = $StudentID && Date=$Date && SectionID=$SectionID && Status =$Status " );
// check if row deleted or not
if (mysql_affected_rows() > 0)
{
// successfully updated
$response["success"] = 1;
$response["message"] = " student successfully deleted";
// echoing JSON response
echo json_encode($response);
} else
{
// no Section found
$response["success"] = 0;
$response["message"] = "No student found";
// echo no users JSON
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
can you help me to solve it