Android: отправка данных пользователю с внешним ключом на сервере MySQL - PullRequest
0 голосов
/ 20 июля 2011

У меня есть приложение, которое в качестве начального действия должно позволить пользователю войти в удаленную БД MySQL с помощью PHP (пользователи должны быть зарегистрированы администратором).Если пользователь вошел в систему должным образом, выполняется другое действие, и, после изменения некоторых настроек, служба должна быть запущена и непрерывно отправлять данные в эту БД MySQL через PHP.

Меня беспокоит то, что эти данные должныбыть привязан к user_id как к внешнему ключу, как я могу убедиться, что эти данные отправлены на правильный user_id?Я хочу вставить определенные данные в таблицу Call_Data, и для этого мне нужно поле user_id.

Я не уверен, потому что, когда пользователь входит в систему, это то, что я делаю:

ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
            postParameters.add(new BasicNameValuePair("username", un.getText().toString()));
            postParameters.add(new BasicNameValuePair("password", pw.getText().toString()));
            String response = null;
            try {
                response = CustomHttpClient.executeHttpPost("http://10.0.2.2/science/login.php", postParameters);
                String res = response.toString();
                res = res.replaceAll("\\s+", "");
                if (res.equals("1")) {

                    // We launch main activity to get the app running after successful login

                    Intent i = new Intent(getApplicationContext(), MtprojectActivity.class);

                    /* Set the request code to any code you like, you can
                     * identify the callback via this code
                     */

                    startActivityForResult(i, REQUEST_CODE);
                } else {
                    error.setText(res.toString());
                }
            } catch (Exception e) {
                un.setText(e.toString());
            }

Но я не уверен, стоит ли мне извлекать из БД user_id, чтобы я мог передать его другому действию при отправке данных.

Это структура таблиц в моей БД:

  CREATE TABLE IF NOT EXISTS `calls_data` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `date` varchar(100) DEFAULT NULL,
  `duration` varchar(100) DEFAULT NULL,
  `type` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;



  CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(100) DEFAULT NULL,
  `password` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

Большое спасибо за вашу помощь заранее!

1 Ответ

0 голосов
/ 22 июля 2011

Хорошо, я понял :) Я просто беру с сервера MySQL username и пропускаю его через функцию Intent Extra, чтобы моя другая деятельность могла получить это имя пользователя и, основываясь на этом, отправить его на PHP сервер для получения user_id!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...