每个人都好!
我目前正在研究如何使用android的日期选择器将日期值放入我的php mysql中。我的计划是从一个日期选择器中获取数据,以及它将被放入mysql的价值。由于某种原因,没有错误,但只是输入值' 0000-00-00'每次我把它放到我的数据库中进入mysql。以下是我的java android代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_datetime);
//setup strict mode policy
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
timePicker = (TimePicker) findViewById(R.id.timePicker);
timePicker.setIs24HourView(true);
datePicker = (DatePicker) findViewById(R.id.datePicker);
//lblTime = (TextView) findViewById(R.id.lblTime);
btnAddTime = (Button) findViewById(R.id.btnAddTime);
btnAddTime.setOnClickListener(new View.OnClickListener() {
InputStream is = null;
@Override
public void onClick(View v) {
//String time = lblTime.getText().toString();
//String time = timePicker.getCurrentHour() + ":" + timePicker.getCurrentMinute() + ":" + "00";
String date = datePicker.getYear() + "-" + datePicker.getMonth() + 1 + "-" + datePicker.getDayOfMonth();
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair ("date", date));
try {
//setting up the default http client
HttpClient httpClient = new DefaultHttpClient();
//setting up the http post method and passing the url in case
//of online database and the ip address in case of localhost database
//and the php file which serves as a link between the android app
//and the database.
HttpPost httpPost = new HttpPost("http://10.0.2.2/add_time.php");
//passing the nameValuePairs inside the httppost
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
//getting the response
HttpResponse response = httpClient.execute(httpPost);
//setting up the entity
HttpEntity httpEntity = response.getEntity();
//setting up the content inside an input stream reader
//lets define the input stream reader
is = httpEntity.getContent();
//Toast message if the data is successfully entered
Toast.makeText(getApplicationContext(), "Date entered succesfully", Toast.LENGTH_LONG).show();
}
catch (ClientProtocolException e) {
Log.e("ClientProtocol", "Log_tag");
e.printStackTrace();
}
catch (IOException e) {
Log.e("Log tag", "IOException");
e.printStackTrace();
}
}
});
以下是我的PHP代码:
<?php
error_reporting(E_ALL ^ E_DEPRECATED);
$con = mysql_connect('localhost', 'root', '');
mysql_select_db('testdb', $con);
$date = $_POST['date'];
mysql_query("Insert into datetable (date) values('{$date}')");
?>
我将非常感谢有人可以帮助我,谢谢!
答案 0 :(得分:0)
首先你不打电话
datePicker.init(year, month, day, dateSetListener);
其次你还没有实现OnDateChangedListener
private DatePicker.OnDateChangedListener dateSetListener = new DatePicker.OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// Use these values to pass....
}
};
答案 1 :(得分:0)
第1步:
首先,您需要日期字段数据类型在表
中为varchar(10)
第2步:
int month = f_date.getMonth();
int crrntmonth = month + 1 ;
String date = f_date.getYear() + "-" + crrntmonth + "-" + f_date.getDayOfMonth();