【发布时间】:2016-04-04 16:46:14
【问题描述】:
我有两张桌子,一张是Information,另一张是WorkForce
信息
劳动力
WorkForce中的twfcolumn用于获取Information的id,假设返回为1,但返回值为0。如果@ 信息中的 987654330@ 是 5,twf 也应该是 5。
首先我使用a 来表示选中的行数,然后将a 的参数添加到addWorkForce 中。 toast 总是显示 0 。
a=addInformation(name,weather,date2,status,first1[1],last1[1]);
Toast.makeText(getApplicationContext(),a+"",Toast.LENGTH_LONG).show();
addWorkForce(Sub, NoP, NoH,a);
添加信息功能
public long addInformation( final String name, final String weather, final String date2, final String status, final String timeIn, final String timeOut)
{
class AddInfo extends AsyncTask<String, Void, String> {
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(WorkDetailsTable.this, "Please Wait",null, true, true);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(String... params) {
HashMap<String, String> data = new HashMap<String,String>();
data.put(Config.KEY_USER_NAME,name);
data.put(Config.KEY_WEATHER,weather);
data.put(Config.KEY_DATE,date2);
data.put(Config.KEY_STATUS,status);
data.put(Config.KEY_TIMEIN,timeIn);
data.put(Config.KEY_TIMEOUT,timeOut);
RequestHandler rh=new RequestHandler();
String result = rh.sendPostRequest(Config.ADD_INFORMATION,data);
return result;
}
}
AddInfo ru = new AddInfo();
ru.execute(name,weather,date2,status,timeIn,timeOut);
return 0;
}
有人可以帮我解决问题吗?
addInformation.php
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
//Getting values
$name = $_POST['name'];
$weather = $_POST['weather'];
$date = $_POST['date'];
$status = $_POST['status'];
$timeIn = $_POST['timeIn'];
$timeOut = $_POST['timeOut'];
//Creating an sql query
$sql = "INSERT INTO information(name, weather, date, status, time_in, time_out) VALUES ('$name','$weather','$date', '$status', '$timeIn', '$timeOut')";
//Importing our db connection script
require_once('dbConnect.php');
//Executing query to database
if(mysqli_query($con,$sql)){
echo 'Information Added Successfully';
}else{
echo 'Could Not Add Information';
}
//Closing the database
mysqli_close($con);
}
?>
这就是我使用代码将行插入到 sqlite 中的方式,它可以工作
a = ts.insertTimeSheet(name, weather, date2, status, first1[1], last1[1]);
时间表
public long insertTimeSheet(String name, String weather, String date, String status, String TimeIn, String TimeOut) {
database = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(MyDatabaseHelper.Name, name);
values.put(MyDatabaseHelper.Weather, weather);
values.put(MyDatabaseHelper.Date, date);
values.put(MyDatabaseHelper.Status, status);
values.put(MyDatabaseHelper.TimeIn_Info, TimeIn);
values.put(MyDatabaseHelper.TimeOut_Info, TimeOut);
return database.insert(MyDatabaseHelper.TABLE_INFO, null, values); // if the id in Information is 5, twf display 5 too
【问题讨论】:
-
echo 'Could Not Add Information';如果您的查询中有错误,John 不会帮助您。你需要得到真正的错误。如果有的话,添加or die(mysqli_error($con))到mysqli_query()。 -
@Fred-ii- 我的代码没有错误。我只想知道如何将表格Info的行数获取到WorkForce
-
它应该返回 1 到列 workForce。如果有第 2 行,则在 workForce twf 中显示 2...
-
“我只想知道如何获取行数”(根据其他地方的评论)。这似乎是与 Android 相关的语法,我对此无能为力。在 SQL 中,您可以尝试使用
mysqli_affected_rows()php.net/manual/en/mysqli.affected-rows.php 但我不完全确定这是否是您的问题所在。 -
调试它,它在完成
AsyncTask之前返回值为0
标签: php android mysql return toast