안드로이드에서 현재 화면에 TextView가 3개가 있고 그 중 하나의 TextView에는 이전 화면의 EditText에서 입력한 home_num이 써있습니다. 현재 화면에서 입력되어있는 home_num의 정보를 가지고 php를 통해 데이터베이스에서 home_num이 포함하는 name과 phone를 가져오고 싶은데 잘 안되네요,,,, 도와주십쇼
안드로이드 java파일 입니다.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quick__return);
tv5 = (TextView) findViewById(R.id.textView5);
tv6 = (TextView) findViewById(R.id.textView6);
tv7 = (TextView) findViewById(R.id.textView7);
Intent intent = getIntent();
String home_num = intent.getStringExtra("home_num");
tv5.setText(home_num);
class BackgroundWorker extends AsyncTask<String, Void, String> {
Context context;
BackgroundWorker(Context ctx) {
context = ctx;
}
@Override
protected String doInBackground(String... params) {
String type = params[0];
String myResult;
String cart_url = "http://도메인주소/폴더명/phpname.php"
BufferedReader bufferedReader = null;
if (type.equals("regCart")) {
try {
Intent intent = getIntent();
String home_num = intent.getStringExtra("home_num");
home_num = params[1];
URL url = new URL(cart_url);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
StringBuilder sb = new StringBuilder();
if (conn != null) {
conn.setConnectTimeout(10000); // milliseconds 연결 타임아웃시간
// add request header
conn.setDefaultUseCaches(false);
conn.setDoInput(true); // 서버에서 읽기 모드 지정 (혹 에러발생하면 주석처리)
conn.setDoOutput(true); // 서버로 쓰기 모드 지정
conn.setRequestMethod("POST");
// 서버에게 웹에서 <Form>으로 값이 넘어온 것과 같은 방식으로 처리하라고 알려준다.
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// 서버로 값 전송
String post_data = "home_num=" + Uri.encode(home_num);
DataOutputStream bufferedWriter = new DataOutputStream(conn.getOutputStream());
bufferedWriter.writeBytes(post_data);
bufferedWriter.flush();
bufferedWriter.close();
// 서버에서 전송받기
int responseCode = conn.getResponseCode();
System.out.println("GET Response Code : " + responseCode); // 서버에서 넘겨준 코드 확인 200 이면 정상
if (responseCode == HttpURLConnection.HTTP_OK) { // 연결 코드가 리턴되면
bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String json;
while ((json = bufferedReader.readLine()) != null) { // 라인단위로 읽는다
sb.append(json + "\n");// View에 표시하기 위해 라인 구분자 추가
}
}
bufferedReader.close();
} // conn connect if close
myResult = sb.toString().trim(); // 전역변수로 선언했다면 전송결과가 전역변수에 저장됨
return myResult;
} catch (Exception e) {
return new String("Exception: " + e.getMessage());
}
}
return type;
}
// regCart if close
protected void onPostExecute(String result) {
tv6.setText(result);
// JSON 메시지를 처리할 함수
}
}
--------------------------------------------------------------
php파일 입니다.
<?php
$con=mysqli_connect("host","ID","Password","DBname");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$home_num = $_POST['home_num'];
mysqli_set_charset($con,"utf8");
$res = mysqli_query($con,"select name,phone from Tablename where home_num='$home_num'"); // 수정
$result = array();
while($row = mysqli_fetch_array($res)){
array_push($result, array('name'=>$row[0],'phone'=>$row[1]));
}
echo json_encode(array("result"=>$result), JSON_UNESCAPED_UNICODE);
$conn->close();
}
?>