嗨在我的应用程序中,我有一些学生名称并且没有,并且单击未插入数据库的保存按钮数据,并且使用toast消息,它只显示单个名称,并且没有任何显示和数据未插入。
Attend.class
public class Attend extends Activity implements OnClickListener {
String data = "";
TableLayout tl;
TableRow tr;
TextView studentName;
EditText Firstname,stRoll;
CheckBox present;
String[] class_name, section_name;
String[] words;
String name;
String roll;
Button save;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tl = (TableLayout) findViewById(R.id.maintable);
save = (Button)findViewById(R.id.save);
Firstname = (EditText) findViewById(R.id.studentname );
Firstname.setVisibility(View.GONE);
stRoll = (EditText) findViewById(R.id.rollnumber );
stRoll.setVisibility(View.GONE);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//save.setText("Record Saved Sucessfully");
name = Firstname.getText().toString();
System.out.println(name);
roll = stRoll.getText().toString();
System.out.println(roll);
Toast.makeText(
Attend.this,
"Result : " + "\nStudentName : " +name
+ "\nRollno : " + roll,
Toast.LENGTH_SHORT).show();
data = DatabaseUtility.executeQueryPhp("save","");
System.out.println(data);
}
});
String class_id = getIntent().getStringExtra("class_id");
String section_id = getIntent().getStringExtra("section_id");
Toast.makeText(
this,
"Result : " + "\nclassName : " + class_id + "\nSectionName : "
+ section_id,
Toast.LENGTH_SHORT).show();
final String queryString = "class_id=" + class_id + "§ion_id="
+ section_id;
/*String result = DatabaseUtility.executeQueryPhp("getStudent",
queryString);*/
new Thread(new Runnable() {
public void run() {
data = DatabaseUtility.executeQueryPhp("getStudent",queryString);
System.out.println(data);
runOnUiThread(new Runnable() {
@Override
public void run() {
ArrayList<StudentDetails> users = parseJSON(data);
addData(users);
}
});
}
}).start();
}
public ArrayList<StudentDetails> parseJSON1(String result1) {
ArrayList<StudentDetails> users = new ArrayList<StudentDetails>();
try {
JSONArray jArray = new JSONArray(result1);
for (int i = 0; i < jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
StudentDetails user = new StudentDetails();
user.setStudentname(json_data.getString("student_nme"));
user.setRollno(json_data.getString("roll_no"));
users.add(user);
}
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
return users;
}
public ArrayList<StudentDetails> parseJSON(String result) {
ArrayList<StudentDetails> users = new ArrayList<StudentDetails>();
try {
JSONArray jArray = new JSONArray(result);
for (int i = 0; i < jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
StudentDetails user = new StudentDetails();
// user.setId(json_data.getInt("class_name"));
// user.setClass_id(json_data.getInt("section_name"));
// user.setSection_id(json_data.getInt("section_id"));
user.setStudentname(json_data.getString("first_name"));
user.setRollno(json_data.getString("roll_no"));
users.add(user);
}
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
return users;
}
void addHeader() {
tr = new TableRow(this);
studentName = new TextView(this);
studentName.setText("StudentName");
studentName.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
studentName.setPadding(5, 5, 5, 5);
studentName.setBackgroundColor(Color.RED);
LinearLayout Ll = new LinearLayout(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.setMargins(5, 5, 5, 5);
Ll.addView(studentName, params);
tr.addView((View) Ll);
TextView RollNo = new TextView(this);
RollNo.setText("RollNo");
RollNo.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
RollNo.setPadding(5, 5, 5, 5);
RollNo.setBackgroundColor(Color.RED);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 5, 5, 5);
Ll.addView(RollNo, params);
tr.addView((View) Ll);
TextView Present = new TextView(this);
Present.setText("Present");
Present.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
Present.setPadding(5, 5, 5, 5);
Present.setBackgroundColor(Color.RED);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 5, 5, 5);
Ll.addView(Present, params);
tr.addView((View) Ll);
tl.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
}
@SuppressWarnings({ "rawtypes" })
public void addData(ArrayList<StudentDetails> users) {
addHeader();
for (Iterator i = users.iterator(); i.hasNext();) {
StudentDetails p = (StudentDetails) i.next();
/** Create a TableRow dynamically **/
tr = new TableRow(this);
/** Creating a TextView to add to the row **/
Firstname = new EditText(this);
Firstname.setText(p.getStudentname());
Firstname.setId(p.getId());
Firstname.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
Firstname.setPadding(5, 5, 5, 5);
LinearLayout Ll = new LinearLayout(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.setMargins(5, 2, 2, 2);
Ll.addView(Firstname, params);
tr.addView((View) Ll);
EditText stRoll= new EditText(this);
stRoll.setText(p.getRollno());
stRoll.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
stRoll.setPadding(5, 5, 5, 5);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 3, 3, 3);
Ll.addView(stRoll, params);
tr.addView((View) Ll);
CheckBox present = new CheckBox(this);
present.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
present.setPadding(5, 5, 5, 5);
Ll = new LinearLayout(this);
params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(0, 3, 3, 3);
Ll.addView(present, params);
tr.addView((View) Ll);
tl.addView(tr, new TableLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
save.php
<?php
mysql_connect("localhost","root","");
mysql_select_db("login");
$name = $_POST['name'];
$roll = $_POST['roll'];
$q=mysql_query("insert into save (student_name,roll_no) values('$name','$roll')");
while($row=mysql_fetch_assoc($q))
$json_output[]=$row;
print(json_encode($json_output));
mysql_close();
?>
答案 0 :(得分:0)
您遇到的错误是因为没有数组可以将数据放入($ json_output)
如果定义$ json_output则应该没有问题
<强> save.php 强>
<?php
mysql_connect("localhost","root","");
mysql_select_db("login");
$name = !empty($_POST['name']) ? $_POST['name'] : $_GET['name'];
$roll = !empty($_POST['roll']) ? $_POST['roll'] : $_GET['roll'];
$query = "insert into save (student_name,roll_no) values('$name','$roll')";
$json_output = array();
if (!mysql_query($query )) {
$json_output[] = mysql_errno() . ": ".mysql_error();
}else{
$json_output[] = true;
}
print(json_encode($json_output));
mysql_close();
?>