AJAX 실시간 쉬운예제 없을까요?? 정보
AJAX 실시간 쉬운예제 없을까요??
본문
요즘은 실시간이 대센지...
페이지 깜빡거리는거에 결벽증걸리신 분이 있더라구요;; ㄷㄷ
상품문의페이지에서 AJAX를 이용해서 페이지 이동없는 글쓰기는 어떻게 했는데
문제는 글을쓴 후 그 글을 불러와야하는데 페이지를 세로고침하지 않고선 안불러와지네요;;
이거관해서 적당한 예제 없을까요??
알고계신분은 공유점 ㅎㅎㅎ
댓글 전체

아마 도치즈님께서 생각하시는 방식이 제가 생각하는것과 별반 다를께없어 보여요.
무슨말이냐면용..
AJAX로 글쓰기를 하셨다면 글쓰기가 성공인지 실패인지 분명 리턴 받으실테고
성공인지 실패인지 값을 받으실때 데이터 더 추가해서 클라이언트에 보내보세요
글을 쓴후에 디비 쿼리에 LAST_ID 값을 받아오셔서
그 아이디로 다시 한번 AJAX호출하여 쿼리결과를 받고 화면에 뿌려주시는게 낳지않을까싶습니다.
음 제가쓰는 코드로 다시한번 댓글 남겨드리겠음.
무슨말이냐면용..
AJAX로 글쓰기를 하셨다면 글쓰기가 성공인지 실패인지 분명 리턴 받으실테고
성공인지 실패인지 값을 받으실때 데이터 더 추가해서 클라이언트에 보내보세요
글을 쓴후에 디비 쿼리에 LAST_ID 값을 받아오셔서
그 아이디로 다시 한번 AJAX호출하여 쿼리결과를 받고 화면에 뿌려주시는게 낳지않을까싶습니다.
음 제가쓰는 코드로 다시한번 댓글 남겨드리겠음.

------------------Jquery AJAX는 아실테고...------------------
$.ajax({
type: "POST",
url: "글쓰기 값 보내는 주소(POST로 값 넘깁니다)",
data: {subject:"쏼라 쏼라",content:"쏼라쏼라~"},
success: function (result) {
//여기에 화면에 보여질 값 들 처리..
},
error: function(error) {
alert("에러"+JSON.stringify(error));
}
});
-----코드이그나이터에서 제가 주료 쓰는 방식 입니다--------------------
컨트롤러
public function entry_post() {
$subject = $this->input->get_post('subject');
$content = $this->input->get_post('content');
$result = $this->cms_m->entry_post($subject, $content);
if($result === true) {
//글쓰기가 성공임으로 여기서 부터 코드 생성
} else {
//글쓰기가 실패임으로 여기서 부터 코드 생성
}
}
모델
function entry_post($subject = null, $content = null) {
//subject 랑 content 중 둘중 하나가 null일경우 리턴.
if($subject == null || $content == null) {
return false;
}
//MySQL 트랜젝션 실시(쿼리처리도중 하나라도 오류나면 롤백)
$this->db->trans_begin();
$data = array(
'subject'=>$subject,
'content'=>$content
);
$query = $this->db->insert('입력될테이블명',$data);
//트랜젝션 결과를 토대로 리턴값 적용
if ($this->db->trans_status() === FALSE) {
$this->db->trans_rollback();
return false;
} else {
$this->db->trans_commit();
return true;
}
}
$.ajax({
type: "POST",
url: "글쓰기 값 보내는 주소(POST로 값 넘깁니다)",
data: {subject:"쏼라 쏼라",content:"쏼라쏼라~"},
success: function (result) {
//여기에 화면에 보여질 값 들 처리..
},
error: function(error) {
alert("에러"+JSON.stringify(error));
}
});
-----코드이그나이터에서 제가 주료 쓰는 방식 입니다--------------------
컨트롤러
public function entry_post() {
$subject = $this->input->get_post('subject');
$content = $this->input->get_post('content');
$result = $this->cms_m->entry_post($subject, $content);
if($result === true) {
//글쓰기가 성공임으로 여기서 부터 코드 생성
} else {
//글쓰기가 실패임으로 여기서 부터 코드 생성
}
}
모델
function entry_post($subject = null, $content = null) {
//subject 랑 content 중 둘중 하나가 null일경우 리턴.
if($subject == null || $content == null) {
return false;
}
//MySQL 트랜젝션 실시(쿼리처리도중 하나라도 오류나면 롤백)
$this->db->trans_begin();
$data = array(
'subject'=>$subject,
'content'=>$content
);
$query = $this->db->insert('입력될테이블명',$data);
//트랜젝션 결과를 토대로 리턴값 적용
if ($this->db->trans_status() === FALSE) {
$this->db->trans_rollback();
return false;
} else {
$this->db->trans_commit();
return true;
}
}

Jquery AJAX는 이해했는데 코드이그나이터는 노력을 좀 해봐야겠군요 ㅎㅎ
재가 원하는 기능이에요 ㅎㅎ
답변 감사합니다 ㅎㅎㅎㅎ
재가 원하는 기능이에요 ㅎㅎ
답변 감사합니다 ㅎㅎㅎㅎ

여기서 만약에 도치즈님께서 글쓰기 성공 이후에
바로 글 보여지는걸 원하시니
글쓰기 실행시 디비에 인써트 시키시고 해당디비를 las_insert_id 값으로 select 후에
쿼리결과값을 리턴해주면 ajax두번 안걸치고도 한방에 글내용까지 보여주실수있을껍니다...
바로 글 보여지는걸 원하시니
글쓰기 실행시 디비에 인써트 시키시고 해당디비를 las_insert_id 값으로 select 후에
쿼리결과값을 리턴해주면 ajax두번 안걸치고도 한방에 글내용까지 보여주실수있을껍니다...


이 내용을 보고 sql에 insert 시켰는데 insert시킨 내용을 불러오는게 햇갈리네요;;

loadData.php
<?
$sql = "SELECT * FROM DB명 where 필드명='".$text."';
$result = mysql_query($sql) or die(mysql_error());
$result_array = array();
while($row = mysql_fetch_object($result)){
$result_array[] = $row;
};
//결과값을 JSON형식으로 변환
$result_array = json_encode($result_array);
//변수 내용 출력
echo "{ \"group01\": ";
echo $result_array."\n";
echo "}";
?>
//
ajax 처리
$.ajax({
url: "loadData.php?opt=02", //옵션 예제
dataType: "json", // json 타입으로 가져오기
data: $("#폼아이디").serialize(), // 해당폼에 속한 모든 value 속성을 서버로 넘깁니다.
success: function (data) {
$.each(data.group01, function () {
alert(this.필드명);
});
this.필드명 -> DB의 필드명으로 내용을 가져 옵니다. this.로 쓰셔도 되고
data.group01[0].필드명 , data.group01[1].필드명 식으로 직접 호출도 가능합니다.
그룹 추가시
echo "{ \"group01\": ";
echo $result_array."\n";
echo "}";
그룹 추가시
echo "{ \"group01\": ";
echo $result_array."\n";
echo ",";
echo " \"group02\": ";
echo $result_array."\n";
echo "}";
이런 형태로 사용하세요.
<?
$sql = "SELECT * FROM DB명 where 필드명='".$text."';
$result = mysql_query($sql) or die(mysql_error());
$result_array = array();
while($row = mysql_fetch_object($result)){
$result_array[] = $row;
};
//결과값을 JSON형식으로 변환
$result_array = json_encode($result_array);
//변수 내용 출력
echo "{ \"group01\": ";
echo $result_array."\n";
echo "}";
?>
//
ajax 처리
$.ajax({
url: "loadData.php?opt=02", //옵션 예제
dataType: "json", // json 타입으로 가져오기
data: $("#폼아이디").serialize(), // 해당폼에 속한 모든 value 속성을 서버로 넘깁니다.
success: function (data) {
$.each(data.group01, function () {
alert(this.필드명);
});
this.필드명 -> DB의 필드명으로 내용을 가져 옵니다. this.로 쓰셔도 되고
data.group01[0].필드명 , data.group01[1].필드명 식으로 직접 호출도 가능합니다.
그룹 추가시
echo "{ \"group01\": ";
echo $result_array."\n";
echo "}";
그룹 추가시
echo "{ \"group01\": ";
echo $result_array."\n";
echo ",";
echo " \"group02\": ";
echo $result_array."\n";
echo "}";
이런 형태로 사용하세요.

아하~ 그렇게하는거군요!! ㅎㅎ
다마리님 답변과 비교해서 보니 이해가됩니다 ㅎㅎ
감사합니다^^
다마리님 답변과 비교해서 보니 이해가됩니다 ㅎㅎ
감사합니다^^