今天是个好日子!

我目前正在研究如何使用android的日期选择器将日期值放入我的php mysql中。我的计划是从datepicker获取数据,无论它的值是多少,它将放入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}')");


?>


我将不胜感激有人可以帮助我,谢谢!

最佳答案

首先你不打电话

 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....

        }
    };

08-26 05:10