게시판이 7개있는데 만약 두번째 게시판에서 댓글을 쓰면 모든게시판에 댓글이 다달립니다. 기본키를 idx로 잡아서 그런거 같은데, 즉 두번째 개시판에서 1번게시물에 댓글을 쓰면 모든 게시판의 1번 게시물에 댓글이 달립니다. 저희가 실력이 모자라 db테이블을 7개씩 잡았는데{(book,book1.......book6),{review,review1.....review6)} 무엇이 문제인지 자세히 설명해 주실수 있나요? book1에서 댓글쓰면 review1에 댓글이 저장되도록 하고싶습니다.
<자바파일>
public class ReViewWriteActivity1 extends Activity {
Context mContext;
EditText contents;
EditText id;
EditText pass;
String result1 = "";
String message = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_review_write);
initSetting();
}
private void initSetting() {
contents = (EditText) findViewById(R.id.contents);
id = (EditText) findViewById(R.id.id);
pass = (EditText) findViewById(R.id.pass);
Button write1 = (Button) findViewById(R.id.btn_write);
write1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(contents.getText().toString())) {
Toast.makeText(ReViewWriteActivity1.this, "내용을 입력해주세요!",
Toast.LENGTH_SHORT).show();
}else if (TextUtils.isEmpty(id.getText().toString())) {
Toast.makeText(ReViewWriteActivity1.this, "닉네임을 입력해주세요!",
Toast.LENGTH_SHORT).show();
}else if (TextUtils.isEmpty(pass.getText().toString())) {
Toast.makeText(ReViewWriteActivity1.this, "패스워드를 입력해주세요!",
Toast.LENGTH_SHORT).show();
} else {
new rewviewTask().execute();
}
}
});
}
ProgressDialog mProgressDialog;
private class rewviewTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = ProgressDialog.show(ReViewWriteActivity1.this, "",
"등록 중....", true);
}
@Override
protected Void doInBackground(Void... params) {
try {
checkVisionData();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
private void checkVisionData() throws UnsupportedEncodingException,
IOException {
URL url = new URL("
http://worry04.cafe24.com/hub/insert_review1.php");
HttpURLConnection http = (HttpURLConnection) url.openConnection();
http.setDefaultUseCaches(false);
http.setRequestMethod("POST");
http.setDoOutput(true);
http.setRequestProperty("content-type",
"application/x-www-form-urlencoded");
StringBuffer buffer1 = new StringBuffer();
buffer1.append("contents").append("=")
.append(contents.getText().toString()).append("&");
buffer1.append("pass").append("=")
.append(pass.getText().toString()).append("&");
buffer1.append("user_id").append("=")
.append(id.getText().toString()).append("&");
Intent gt1 = getIntent();
String b_idx =gt1.getStringExtra("b_idx");
buffer1.append("b_idx").append("=")
.append(b_idx).append("&");
OutputStreamWriter outStream = new OutputStreamWriter(
http.getOutputStream(), "UTF-8");
PrintWriter writer = new PrintWriter(outStream);
writer.write(buffer1.toString());
writer.flush();
InputStreamReader tmp = new InputStreamReader(
http.getInputStream(), "UTF-8");
BufferedReader reader = new BufferedReader(tmp);
StringBuilder builder = new StringBuilder();
String str;
while ((str = reader.readLine()) != null) {
builder.append(str);
}
Pasingversiondata(builder.toString());
}
private void Pasingversiondata(String data) {
try {
JSONObject student = new JSONObject(data);
if (student.getString("success") == null) {
result1 = "0";
} else {
result1 = student.getString("success");
}
if (student.getString("message") == null) {
message = "";
} else {
message = student.getString("message");
}
} catch (JSONException e) {
Log.d("tag", "Parse Error");
}
}
protected void onPostExecute(Void result) {
mProgressDialog.dismiss();
if(result1.equals("1")){
Toast.makeText(ReViewWriteActivity1.this, "리뷰 등록 완료 되었습니다!", Toast.LENGTH_SHORT)
.show();
setResult(RESULT_OK);
finish();
}else{
Toast.makeText(ReViewWriteActivity1.this, "리뷰 등록이 실패 되었습니다! ", Toast.LENGTH_SHORT)
.show();
}
}
}
}
insert_review1 <php>파일
<?php
$response = array();
$b_idx = $_POST["b_idx"]; //앱으로 부터 인덱스
$contents = $_POST["contents"]; //앱으로 부터 내용
$pass = $_POST["pass"]; //앱으로 패스워드
$user_id = $_POST["user_id"]; //앱으로 닉네임
$connect = mysql_connect("localhost","worry04","aa1536zz@") or die("SQL server에 연결할 수 없습니다.");
mysql_select_db("worry04",$connect);
//DB 연결
$result = mysql_query("INSERT INTO review1(b_idx , contents,pass, user_id ) VALUES('$b_idx' , '$contents' , '$pass' , '$user_id' )");
if ($result) {
$result = mysql_query("update book1 set review_count = review_count+1 where b_idx= '$b_idx' ");
$response["success"] = 1;
$response["message"] = "Ok";
} else {
$response["success"] = 0;
$response["message"] = "Error";
}
echo json_encode($response);
?>
select_review1 <php파일>
<?php
$return_arr = array();
$connect = mysql_connect("localhost","worry04","aa1536zz@") or die("SQL server에 연결할 수 없습니다.");
mysql_select_db("worry04",$connect);
//DB 연결
$result = mysql_query("select * from book1 order by idx desc ");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$row_array['idx'] = $row['idx'];
$row_array['user_id'] = $row['user_id'];
$row_array['title'] = $row['title'];
$row_array['contents'] = $row['contents'];
$row_array['pass'] = $row['pass'];
$row_array['reg_date'] = $row['reg_date'];
$row_array['review_count'] = $row['review_count'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
?>