테스트 사이트 - 개발 중인 베타 버전입니다

ajax 질문좀 드릴게요 채택완료

익수야가자 4년 전 조회 4,048

 

어제까지는 insert가 잘 되다가 오늘 갑자기 안되네요

</p>

<p><?php

include_once("../../../common.php");

if($_POST)</p>

<p>$tid = $_POST["tid"];

$trdate = $_POST["trdate"];

$trserial = $_POST["trserial"];

$trdt = $_POST["trdt"];

$accIn = $_POST["accIn"];

$accOut = $_POST["accOut"];

$balance = $_POST["balance"];

$remark1 = $_POST["remark1"];

$remark2 = $_POST["remark2"];

$remark3 = $_POST["remark3"];

$remark4 = $_POST["remark4"];

$regDT = $_POST["regDT"];

$memo = $_POST["memo"];</p>

<p>

$sql = "insert into {$g5['search_table']}

     set  tid              = '$tid',

       trdate                = '$trdate',

       trserial                 = '$trserial',

       trdt              = '$trdt',

       accIn            = '$accIn',

       accOut            = '$accOut',

       balance           = '$balance',

       remark1           = '$remark1',

       remark2           = '$remark12',

       remark3     = '$remark3',

       remark4     = '$remark4',

       regDT     = '$regDT',

       memo     = '$memo',

       mb_id              = '{$member['mb_id']}' where tid <> '{$tid}";

sql_query($sql);</p>

<p>?></p>

<p>

 

</p>

<p>

    <body>

    <div id='content'>

        <p class='heading1'>Response<?php echo $_GET["JobID"]; ?><?php echo $_GET["UserID"]; ?></p>

        


        <fieldset class='fieldset1'>

            <legend>수집 결과 조회</legend>

            <ul>

                <?php

                if ( isset($code) ) {

                    ?>

                    <li>Response.code : <?php echo $code ?> </li>

                    <li>Response.message : <?php echo $message ?></li>

                    <?php

                } else {

                    ?>

                    <li>code (응답코드) : <?php echo $response->code ?></li>

                    <li>message (응답메시지) : <?php echo $response->message ?></li>

                    <li>total (총 검색결과 건수) : <?php echo $response->total ?></li>

                    <li>perPage (페이지당 검색개수) : <?php echo $response->perPage ?></li>

                    <li>pageNum (페이지 번호) : <?php echo $response->pageNum ?></li>

                    <li>pageCount (페이지 개수) : <?php echo $response->pageCount ?></li>

                    <li>lastScrapDT (최종 조회일시) : <?php echo $response->lastScrapDT ?></li></p>

<p>                    <?php

                    for ( $i = 0; $i < Count ( $response->list ); $i++ ) {

                        ?>

                        <fieldset class='fieldset2'>

                            <legend> 거래내역 </legend>

                            <ul>

                                <li>tid (거래내역 아이디) : <?php echo $response->list[$i]->tid ; ?></li>

                                <li>trdate (거래일자) : <?php echo $response->list[$i]->trdate ; ?></li>

                                <li>trserial (거래일련번호) : <?php echo $response->list[$i]->trserial ; ?></li>

                                <li>trdt (거래일시) : <?php echo $response->list[$i]->trdt ; ?></li>

                                <li>accIn (입금액) : <?php echo $response->list[$i]->accIn ; ?></li>

                                <li>accOut (출금액) : <?php echo $response->list[$i]->accOut ; ?></li>

                                <li>balance (잔액) : <?php echo $response->list[$i]->balance ; ?></li>

                                <li>remark1 (비고 1) : <?php echo $response->list[$i]->remark1 ; ?></li>

                                <li>remark2 (비고 2) : <?php echo $response->list[$i]->remark2 ; ?></li>

                                <li>remark3 (비고 3) : <?php echo $response->list[$i]->remark3 ; ?></li>

                                <li>remark4 (비고 4) : <?php echo $response->list[$i]->remark4 ; ?></li>

                                <li>regDT (등록일시) : <?php echo $response->list[$i]->regDT ; ?></li>

                                <li>memo (메모) : <?php echo $response->list[$i]->memo ; ?></li>

                            </ul>

                        </fieldset>

                        <?php

                    }

                }

                ?>

            </ul>

        </fieldset>

    </div>

    </body>

<script></p>

<p>

<?php

 for ( $i = 0; $i < Count ( $response->list ); $i++ ) {

 ?></p>

<p>$.ajax({

url:"<a href="http://uksoft.iwinv.net/theme/gram/mobile/api.php"," target="_blank" rel="noopener noreferrer">http://uksoft.iwinv.net/theme/gram/mobile/api.php",</a>

method:"POST",

data: {mb_id:'<?php echo $mb_id ?>',tid:'<?php echo $response->list[$i]->tid ; ?>',trdate:'<?php echo $response->list[$i]->trdate ; ?>',trserial:'<?php echo $response->list[$i]->trserial ; ?>',trdt:'<?php echo $response->list[$i]->trdt ; ?>',accIn:'<?php echo $response->list[$i]->accIn ; ?>',accOut:'<?php echo $response->list[$i]->accOut ; ?>',balance:'<?php echo $response->list[$i]->balance ; ?>',remark1:'<?php echo $response->list[$i]->remark1 ; ?>',remark2:'<?php echo $response->list[$i]->remark2 ; ?>',remark3:'<?php echo $response->list[$i]->remark3 ; ?>',remark4:'<?php echo $response->list[$i]->remark4 ; ?>',regDT:'<?php echo $response->list[$i]->regDT ; ?>',memo:'<?php echo $response->list[$i]->memo ; ?>'}</p>

<p>});

<?php } ?></p>

<p></script>

 

코드입니다

새벽까지만 해도 insert 가 잘 되었는데 갑자기 안되네요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
4년 전

mb_id              = '{$member['mb_id']}' where tid <> '{$tid}";

=>

mb_id              = '{$member['mb_id']}' ";

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

익수야가자
4년 전
혹시 tid가 중복되는 데이터는 입력이 안되게 가능한가요?
트샷
4년 전
[code]
$sql = "
select tid
from {$g5['search_table']}
where tid = '{$tid}'
";

$row = sql_fetch($sql);

if (!$row['tid']) {
$sql = "
insert into {$g5['search_table']}
set tid = '$tid',
trdate = '$trdate',
trserial = '$trserial',
trdt = '$trdt',
accIn = '$accIn',
accOut = '$accOut',
balance = '$balance',
remark1 = '$remark1',
remark2 = '$remark12',
remark3 = '$remark3',
remark4 = '$remark4',
regDT = '$regDT',
memo = '$memo',
mb_id = '{$member['mb_id']}'
";
sql_query($sql);
}
[/code]

댓글을 작성하려면 로그인이 필요합니다.

이전 질문에도 말씀드렸듯이

13.2.6.2 INSERT ... ON DUPLICATE KEY UPDATE Statement

https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html

If you specify an ON DUPLICATE KEY UPDATE clause and a row to be inserted would cause a duplicate value in a UNIQUE index or PRIMARY KEY, an https://dev.mysql.com/doc/refman/8.0/en/update.html" title="13.2.13 UPDATE Statement">UPDATE of the old row occurs.

tid를 UNIQUE index or PRIMARY KEY로 만드시고
$sql = "insert into {$g5['search_table']}
     set  tid              = '$tid',
       trdate                = '$trdate',
       trserial                 = '$trserial',
       trdt              = '$trdt',
       accIn            = '$accIn',
       accOut            = '$accOut',
       balance           = '$balance',
       remark1           = '$remark1',
       remark2           = '$remark12',
       remark3     = '$remark3',
       remark4     = '$remark4',
       regDT     = '$regDT',
       memo     = '$memo',
       mb_id              = '{$member['mb_id']}'
ON DUPLICATE KEY UPDATE trdatec='$trdate' ";

이렇게 해 보세요.

tid가 기존이 있으면

trdate만 업데이트됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

핑크빈
4년 전
 for ( $i = 0; $i < Count ( $response->list ); $i++ ) {

이부분을
 for ( $i = 0; $i < count ( $response->list ); $i++ ) {

으로바꿔보세요

대문자로되어있네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

그누위즈

잘되던게 안되면 insert 쿼리문을 출력해서 살펴보세요.

 

$sql = "insert into {$g5['search_table']}
     set  tid              = '$tid',
       trdate                = '$trdate',
       trserial                 = '$trserial',
       trdt              = '$trdt',
       accIn            = '$accIn',
       accOut            = '$accOut',
       balance           = '$balance',
       remark1           = '$remark1',
       remark2           = '$remark12',
       remark3     = '$remark3',
       remark4     = '$remark4',
       regDT     = '$regDT',
       memo     = '$memo',
       mb_id              = '{$member['mb_id']}' where tid <> '{$tid}";
sql_query($sql);

echo $sql;
exit;

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

익수야가자
4년 전
echo 쳐보니 tid밖에 출력이 안되고 나머지는 출력이 안되네요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인