질문아닌 질문좀 ㅜㅜ
본문
안녕하세요. 다름이 아니라 좀 애매모호한 질문좀 하려고합니다 ㅜㅜ
먼저 발단은
simplehtmldom 으로 값을 파싱해서 가져온 후 db로 값을 저장해서 다른곳에서 불러오기였습니다.
htmldom 으로 값을 가져와서 뿌려주는건 됬습니다...만 새로고침하면 계속 값을 가져와서
insert 로는 값이 자꾸자꾸 쌓이는게 문제였습니다.
그래서 1차적인 해결방법으로 insert 되어 db에 저장되어있는 값이랑 비교를 해서 없는값이면 insert,
있는값이면 update 를 하려고 코드를 짰습니다.
mysql_query("select * from g5_inst_member");
$result = sql_query($query);
$row = sql_fetch_array($result);
while($row = sql_fetch_array($result)) {
if($row['inst_name']=="") {
mysql_query("insert g5_inst_member (inst_nick, inst_exp, inst_date) values('$list_nick_3426', '$list_exp_3426', '".G5_TIME_YMDHIS."')");
}
if($row['inst_name']==$list_nick_3426) {
mysql_query("update g5_inst_member set inst_nick='$list_nick_3426', inst_exp='$list_exp_3426', inst_date='".G5_TIME_YMDHIS."'");
}
}
이렇게요. 문제는 이렇게하니까 값 자체가 저장이 안되더라구요...update 도..
뭐가문제인가요?..
어떻게 하면 값을 비교해서 없는값이면 insert 있는값이면 update 를 할까요 ㅜ
!-->답변 1
좀 더 구체적인 설명이 필요합니다
어떤값이 어떻게 오고 어떤값을 필요로 하고 뭐 이러한 것들????
위 쿼리문으로만 보면 $row['inst_name'] 이라는 값과 $list_nick_3426과 비교를 하는데 저장은 inst_nick에 저장을 하네요???
뭐가 맞는거죠???
g5_inst_member이 새로운 회원의 저장 db테이블인듯 합니다만 저렇게 할 필요가 있나요?
$thisMember = sql_fetch(
"select * from g5_inst_member where inst_nick='".$list_nick_3426."' "
);
if($thisMember['inst_nick']) { //값이 있다면
sql_query(
"update g5_inst_member set inst_nick='$list_nick_3426', inst_exp='$list_exp_3426', inst_date='"
.G5_TIME_YMDHIS.
"'"
);
} else {
sql_query(
"insert g5_inst_member (inst_nick, inst_exp, inst_date) values('$list_nick_3426', '$list_exp_3426', '"
.G5_TIME_YMDHIS.
"')"
);
}
여기서 한가지더 inst_date는 최초 입력값을 넣으시고 수정일때는 다른 필드를 만들어서 그필드로 들어가게 하는게 좋지 않나 싶네요